From fop-commits-return-6892stephanie15@example.org Tue Aug 02 09:05:44 2005 Return-Path: <fop-commits-return-6892stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 79946 invoked from network); 2 Aug 2005 09:05:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 09:05:44 -0000 Received: (qmail 65362 invoked by uid 500); 2 Aug 2005 09:05:43 -0000 Delivered-To: stephanie15@example.org Received: (qmail 65328 invoked by uid 500); 2 Aug 2005 09:05:42 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 65310 invoked by uid 99); 2 Aug 2005 09:05:42 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 02:05:42 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 02:05:33 -0700 Received: (qmail 79922 invoked by uid 65534); 2 Aug 2005 09:05:40 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r226973 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr: ./ list/ Date: Tue, 02 Aug 2005 09:05:38 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: lfurini Date: Tue Aug 2 02:05:25 2005 New Revision: 226973 URL: http://svn.apache.org/viewcvs?rev=226973&view=rev Log: Adjusting verticals spaces (coming from space-before and space-after properties) in order to fill the region, whenever possible Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Tue Aug 2 02:05:25 2005 @@ -314,9 +314,16 @@ // at the beginning of the line effectiveListIterator = effectiveList .listIterator(startElementIndex); + KnuthElement firstElement; while (effectiveListIterator.hasNext() - && !((KnuthElement) effectiveListIterator.next()) + && !(firstElement = (KnuthElement) effectiveListIterator.next()) .isBox()) { + if (firstElement.isGlue()) { + // discard the space representd by the glue element + ((BlockLevelLayoutManager) firstElement + .getLayoutManager()) + .discardSpace((KnuthGlue) firstElement); + } startElementIndex++; } @@ -324,6 +331,8 @@ log.debug(" addAreas from " + startElementIndex + " to " + endElementIndex); childLC = new LayoutContext(0); + // set the space adjustment ratio + childLC.setSpaceAdjust(pbp.bpdAdjust); // add space before if display-align is center or bottom // add space after if display-align is distribute and // this is not the last page Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java Tue Aug 2 02:05:25 2005 @@ -80,6 +80,8 @@ // Add the block areas to Area lc.setFlags(LayoutContext.FIRST_AREA, childLM == firstLM); lc.setFlags(LayoutContext.LAST_AREA, childLM == lastLM); + // set the space adjustment ratio + lc.setSpaceAdjust(layoutContext.getSpaceAdjust()); // set space before for the first LM, in order to implement // display-align = center or after lc.setSpaceBefore((childLM == firstLM ? layoutContext.getSpaceBefore() : 0)); Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java Tue Aug 2 02:05:25 2005 @@ -41,17 +41,6 @@ /** Iterator over the child layout managers. */ protected ListIterator proxyLMiter; - /* holds the (one-time use) fo:block space-before - and -after properties. Large fo:blocks are split - into multiple Area.Blocks to accomodate the subsequent - regions (pages) they are placed on. space-before - is applied at the beginning of the first - Block and space-after at the end of the last Block - used in rendering the fo:block. - */ - private MinOptMax foBlockSpaceBefore = null; - private MinOptMax foBlockSpaceAfter = null; - private int lead = 12000; private int lineHeight = 14000; private int follow = 2000; @@ -79,17 +68,18 @@ } private void initialize() { - foBlockSpaceBefore = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); -/*LF*/ bpUnit = 0; //layoutProps.blockProgressionUnit; -/*LF*/ if (bpUnit == 0) { -/*LF*/ // use optimum space values -/*LF*/ adjustedSpaceBefore = getBlockFO().getCommonMarginBlock().spaceBefore.getSpace().getOptimum().getLength().getValue(); -/*LF*/ adjustedSpaceAfter = getBlockFO().getCommonMarginBlock().spaceAfter.getSpace().getOptimum().getLength().getValue(); -/*LF*/ } else { -/*LF*/ // use minimum space values -/*LF*/ adjustedSpaceBefore = getBlockFO().getCommonMarginBlock().spaceBefore.getSpace().getMinimum().getLength().getValue(); -/*LF*/ adjustedSpaceAfter = getBlockFO().getCommonMarginBlock().spaceAfter.getSpace().getMinimum().getLength().getValue(); -/*LF*/ } + foSpaceBefore = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); + foSpaceAfter = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceAfter).getSpace(); + bpUnit = 0; // non-standard extension + if (bpUnit == 0) { + // use optimum space values + adjustedSpaceBefore = getBlockFO().getCommonMarginBlock().spaceBefore.getSpace().getOptimum().getLength().getValue(); + adjustedSpaceAfter = getBlockFO().getCommonMarginBlock().spaceAfter.getSpace().getOptimum().getLength().getValue(); + } else { + // use minimum space values + adjustedSpaceBefore = getBlockFO().getCommonMarginBlock().spaceBefore.getSpace().getMinimum().getLength().getValue(); + adjustedSpaceAfter = getBlockFO().getCommonMarginBlock().spaceAfter.getSpace().getMinimum().getLength().getValue(); + } } /** @@ -203,7 +193,7 @@ getParentArea(null); // if this will create the first block area in a page - // and display-align is bottom or center, add space before + // and display-align is after or center, add space before if (layoutContext.getSpaceBefore() > 0) { addBlockSpacing(0.0, new MinOptMax(layoutContext.getSpaceBefore())); } @@ -322,23 +312,23 @@ // add space before and / or after the paragraph // to reach a multiple of bpUnit if (bSpaceBefore && bSpaceAfter) { - foBlockSpaceBefore = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); - foBlockSpaceAfter = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceAfter).getSpace(); + foSpaceBefore = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); + foSpaceAfter = new SpaceVal(getBlockFO().getCommonMarginBlock().spaceAfter).getSpace(); adjustedSpaceBefore = (neededUnits(splitLength - + foBlockSpaceBefore.min - + foBlockSpaceAfter.min) + + foSpaceBefore.min + + foSpaceAfter.min) * bpUnit - splitLength) / 2; adjustedSpaceAfter = neededUnits(splitLength - + foBlockSpaceBefore.min - + foBlockSpaceAfter.min) + + foSpaceBefore.min + + foSpaceAfter.min) * bpUnit - splitLength - adjustedSpaceBefore; } else if (bSpaceBefore) { adjustedSpaceBefore = neededUnits(splitLength - + foBlockSpaceBefore.min) + + foSpaceBefore.min) * bpUnit - splitLength; } else { adjustedSpaceAfter = neededUnits(splitLength - + foBlockSpaceAfter.min) + + foSpaceAfter.min) * bpUnit - splitLength; } //System.out.println("spazio prima = " + adjustedSpaceBefore @@ -347,12 +337,15 @@ childPosIter = new KnuthPossPosIter(splitList, 0, splitList .size()); //} - } + } // if adjusted space before - if (bSpaceBefore) { - addBlockSpacing(0, new MinOptMax(adjustedSpaceBefore)); - } + double adjust = layoutContext.getSpaceAdjust(); + addBlockSpacing(adjust, foSpaceBefore); + foSpaceBefore = null; + //if (bSpaceBefore) { + // addBlockSpacing(0, new MinOptMax(adjustedSpaceBefore)); + //} while ((childLM = childPosIter.getNextChildLM()) != null) { // set last area flag @@ -372,9 +365,10 @@ flush(); // if adjusted space after - if (bSpaceAfter) { - addBlockSpacing(0, new MinOptMax(adjustedSpaceAfter)); - } + addBlockSpacing(adjust, foSpaceAfter); + //if (bSpaceAfter) { + // addBlockSpacing(0, new MinOptMax(adjustedSpaceAfter)); + //} curBlockArea = null; } Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java Tue Aug 2 02:05:25 2005 @@ -62,7 +62,18 @@ protected boolean bSpaceBeforeServed = false; /** Reference IPD available */ protected int referenceIPD = 0; - + + /* holds the (one-time use) fo:block space-before + and -after properties. Large fo:blocks are split + into multiple Area.Blocks to accomodate the subsequent + regions (pages) they are placed on. space-before + is applied at the beginning of the first + Block and space-after at the end of the last Block + used in rendering the fo:block. + */ + protected MinOptMax foSpaceBefore = null; + protected MinOptMax foSpaceAfter = null; + private int lastGeneratedPosition = -1; private int smallestPosNumberChecked = Integer.MAX_VALUE; @@ -506,22 +517,24 @@ } public void discardSpace(KnuthGlue spaceGlue) { -/*LF*/ //System.out.println(" BLM.discardSpace> " + spaceGlue.getPosition().getClass().getName()); + //System.out.println(" BLM.discardSpace> " + spaceGlue.getPosition().getClass().getName()); Position innerPosition = ((NonLeafPosition) spaceGlue.getPosition()).getPosition(); -/*LF*/ if (innerPosition == null || innerPosition.getLM() == this) { + if (innerPosition == null || innerPosition.getLM() == this) { // if this block has block-progression-unit > 0, innerPosition can be // a MappingPosition // spaceGlue represents space before or space after of this block if (spaceGlue.getAdjustmentClass() == SPACE_BEFORE_ADJUSTMENT) { // space-before must be discarded adjustedSpaceBefore = 0; + foSpaceBefore = new MinOptMax(0); } else { // space-after must be discarded adjustedSpaceAfter = 0; + foSpaceAfter = new MinOptMax(0); //TODO Why are both cases handled in the same way? } -/*LF*/ } else { + } else { // this element was not created by this BlockLM NonLeafPosition savedPos = (NonLeafPosition)spaceGlue.getPosition(); spaceGlue.setPosition(innerPosition); Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java Tue Aug 2 02:05:25 2005 @@ -700,9 +700,27 @@ //int difference = (bestActiveNode.line < total) ? bestActiveNode.difference : bestActiveNode.difference + fillerMinWidth; int difference = bestActiveNode.difference; int blockAlignment = (bestActiveNode.line < total) ? alignment : alignmentLast; - double ratio = (blockAlignment == org.apache.fop.fo.Constants.EN_JUSTIFY - || bestActiveNode.adjustRatio < 0) ? bestActiveNode.adjustRatio : 0; - + // it is always allowed to adjust space, so the ratio must be set regardless of + // the value of the property display-align; the ratio must be <= 1 + double ratio = bestActiveNode.adjustRatio; + if (ratio < 0) { + // page break with a negative difference: + // spaces always have enough shrink + difference = 0; + } else if (ratio <= 1 && bestActiveNode.line < total) { + // not-last page break with a positive difference smaller than the available stretch: + // spaces can stretch to fill the whole difference + difference = 0; + } else if (ratio > 1) { + // not-last page with a positive difference greater than the available stretch + // spaces can stretch to fill the difference only partially + ratio = 1; + difference -= bestActiveNode.availableStretch; + } else { + // last page with a positive difference: + // spaces do not need to stretch + ratio = 0; + } // compute the indexes of the first footnote list and the first element in that list int firstListIndex = ((KnuthPageNode) bestActiveNode.previous).footnoteListIndex; int firstElementIndex = ((KnuthPageNode) bestActiveNode.previous).footnoteElementIndex; Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java Tue Aug 2 02:05:25 2005 @@ -45,8 +45,6 @@ private Block curBlockArea; //TODO space-before|after: handle space-resolution rules - private MinOptMax spaceBefore; - private MinOptMax spaceAfter; private static class StackingIter extends PositionIterator { StackingIter(Iterator parentIter) { @@ -89,8 +87,8 @@ } private void initialize() { - spaceBefore = new SpaceVal(getListBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); - spaceAfter = new SpaceVal(getListBlockFO().getCommonMarginBlock().spaceAfter).getSpace(); + foSpaceBefore = new SpaceVal(getListBlockFO().getCommonMarginBlock().spaceBefore).getSpace(); + foSpaceAfter = new SpaceVal(getListBlockFO().getCommonMarginBlock().spaceAfter).getSpace(); } private int getIPIndents() { @@ -116,11 +114,17 @@ public void addAreas(PositionIterator parentIter, LayoutContext layoutContext) { getParentArea(null); - + + // if this will create the first block area in a page + // and display-align is after or center, add space before + if (layoutContext.getSpaceBefore() > 0) { + addBlockSpacing(0.0, new MinOptMax(layoutContext.getSpaceBefore())); + } + // if adjusted space before double adjust = layoutContext.getSpaceAdjust(); - addBlockSpacing(adjust, spaceBefore); - spaceBefore = null; + addBlockSpacing(adjust, foSpaceBefore); + foSpaceBefore = null; getPSLM().addIDToPage(getListBlockFO().getId()); @@ -164,6 +168,8 @@ StackingIter childPosIter = new StackingIter(positionList.listIterator()); while ((childLM = childPosIter.getNextChildLM()) != null) { // Add the block areas to Area + // set the space adjustment ratio + lc.setSpaceAdjust(layoutContext.getSpaceAdjust()); lc.setFlags(LayoutContext.FIRST_AREA, childLM == firstLM); lc.setFlags(LayoutContext.LAST_AREA, childLM == lastLM); lc.setStackLimit(layoutContext.getStackLimit()); @@ -177,7 +183,7 @@ flush(); // if adjusted space after - addBlockSpacing(adjust, spaceAfter); + addBlockSpacing(adjust, foSpaceAfter); curBlockArea = null; } Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java Tue Aug 2 02:05:25 2005 @@ -155,6 +155,8 @@ // Add the block areas to Area lc.setFlags(LayoutContext.FIRST_AREA, childLM == firstLM); lc.setFlags(LayoutContext.LAST_AREA, childLM == lastLM); + // set the space adjustment ratio + lc.setSpaceAdjust(layoutContext.getSpaceAdjust()); lc.setStackLimit(layoutContext.getStackLimit()); childLM.addAreas(childPosIter, lc); } Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java?rev=226973&r1=226972&r2=226973&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java Tue Aug 2 02:05:25 2005 @@ -59,8 +59,6 @@ private int listItemHeight; //TODO space-before|after: handle space-resolution rules - private MinOptMax spaceBefore; - private MinOptMax spaceAfter; private boolean keepWithNextPendingOnLabel; private boolean keepWithNextPendingOnBody; @@ -154,8 +152,8 @@ } private void initialize() { - spaceBefore = new SpaceVal(getListItemFO().getCommonMarginBlock().spaceBefore).getSpace(); - spaceAfter = new SpaceVal(getListItemFO().getCommonMarginBlock().spaceAfter).getSpace(); + foSpaceBefore = new SpaceVal(getListItemFO().getCommonMarginBlock().spaceBefore).getSpace(); + foSpaceAfter = new SpaceVal(getListItemFO().getCommonMarginBlock().spaceAfter).getSpace(); } private int getIPIndents() { @@ -426,8 +424,8 @@ // if adjusted space before double adjust = layoutContext.getSpaceAdjust(); - addBlockSpacing(adjust, spaceBefore); - spaceBefore = null; + addBlockSpacing(adjust, foSpaceBefore); + foSpaceBefore = null; getPSLM().addIDToPage(getListItemFO().getId()); @@ -469,6 +467,8 @@ labelFirstIndex, labelLastIndex + 1); lc.setFlags(LayoutContext.FIRST_AREA, layoutContext.isFirstArea()); lc.setFlags(LayoutContext.LAST_AREA, layoutContext.isLastArea()); + // set the space adjustment ratio + lc.setSpaceAdjust(layoutContext.getSpaceAdjust()); // TO DO: use the right stack limit for the label lc.setStackLimit(layoutContext.getStackLimit()); label.addAreas(labelIter, lc); @@ -488,6 +488,8 @@ bodyFirstIndex, bodyLastIndex + 1); lc.setFlags(LayoutContext.FIRST_AREA, layoutContext.isFirstArea()); lc.setFlags(LayoutContext.LAST_AREA, layoutContext.isLastArea()); + // set the space adjustment ratio + lc.setSpaceAdjust(layoutContext.getSpaceAdjust()); // TO DO: use the right stack limit for the body lc.setStackLimit(layoutContext.getStackLimit()); body.addAreas(bodyIter, lc); @@ -505,7 +507,7 @@ flush(); // if adjusted space after - addBlockSpacing(adjust, spaceAfter); + addBlockSpacing(adjust, foSpaceAfter); curBlockArea = null; } --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6893stephanie15@example.org Tue Aug 02 09:34:07 2005 Return-Path: <fop-commits-return-6893stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 90077 invoked from network); 2 Aug 2005 09:34:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 09:34:06 -0000 Received: (qmail 99097 invoked by uid 500); 2 Aug 2005 09:34:06 -0000 Delivered-To: stephanie15@example.org Received: (qmail 98992 invoked by uid 500); 2 Aug 2005 09:34:05 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 98979 invoked by uid 99); 2 Aug 2005 09:34:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 02:34:05 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 02:33:57 -0700 Received: (qmail 90052 invoked by uid 65534); 2 Aug 2005 09:34:04 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r226975 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java Date: Tue, 02 Aug 2005 09:34:04 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 02:34:00 2005 New Revision: 226975 URL: http://svn.apache.org/viewcvs?rev=226975&view=rev Log: Remove "veryveryalpha" warning. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java?rev=226975&r1=226974&r2=226975&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java Tue Aug 2 02:34:00 2005 @@ -1,5 +1,5 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,8 +24,12 @@ import java.io.OutputStreamWriter; import java.util.Iterator; +// Libs import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.xml.sax.SAXException; + +// FOP import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.fo.FOEventHandler; @@ -79,7 +83,6 @@ import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableCell; import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfTableContainer; import org.apache.fop.fonts.FontSetup; -import org.xml.sax.SAXException; /** * RTF Handler: generates RTF output using the structure events from @@ -114,8 +117,6 @@ //in current page-sequence private BuilderContext builderContext = new BuilderContext(null); - private static final String ALPHA_WARNING = "WARNING: RTF renderer is " - + "veryveryalpha at this time, see class org.apache.fop.rtf.renderer.RTFHandler"; /** * Creates a new RTF structure handler. @@ -129,7 +130,6 @@ bDeferredExecution = false; iNestCount = 0; FontSetup.setup(fontInfo, null); - log.warn(ALPHA_WARNING); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6894stephanie15@example.org Tue Aug 02 12:30:30 2005 Return-Path: <fop-commits-return-6894stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 55103 invoked from network); 2 Aug 2005 12:30:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 12:30:29 -0000 Received: (qmail 19703 invoked by uid 500); 2 Aug 2005 12:30:29 -0000 Delivered-To: stephanie15@example.org Received: (qmail 19599 invoked by uid 500); 2 Aug 2005 12:30:28 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 19586 invoked by uid 500); 2 Aug 2005 12:30:28 -0000 Delivered-To: stephanie15@example.org Received: (qmail 19583 invoked by uid 99); 2 Aug 2005 12:30:28 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO ajax.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 05:30:19 -0700 Received: from ajax.apache.org (ajax.apache.org [83.161.120.155]) by ajax.apache.org (Postfix) with ESMTP id ED770DF for <stephanie15@example.org>; Tue, 2 Aug 2005 14:30:16 +0200 (CEST) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <stephanie15@example.org> To: stephanie15@example.org Date: Tue, 02 Aug 2005 12:30:16 -0000 Message-ID: <stephanie15@example.org> Subject: [Xmlgraphics-fop Wiki] Update of "DeveloperPages" by JeremiasMaerki X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xmlgraphics-fop Wiki" for change notification. The following page has been changed by JeremiasMaerki: http://wiki.apache.org/xmlgraphics-fop/DeveloperPages ------------------------------------------------------------------------------ * [wiki:FopAndJava2D FopAndJava2D] * AutomaticHyphenation * MultiColumnLayout + * ProcessingFeedback (Monitoring the layout engine) === Bugzilla Searches === --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6895stephanie15@example.org Tue Aug 02 13:06:13 2005 Return-Path: <fop-commits-return-6895stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 66882 invoked from network); 2 Aug 2005 13:06:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 13:06:13 -0000 Received: (qmail 80412 invoked by uid 500); 2 Aug 2005 13:06:12 -0000 Delivered-To: stephanie15@example.org Received: (qmail 80381 invoked by uid 500); 2 Aug 2005 13:06:12 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 80361 invoked by uid 500); 2 Aug 2005 13:06:11 -0000 Delivered-To: stephanie15@example.org Received: (qmail 80357 invoked by uid 99); 2 Aug 2005 13:06:11 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO ajax.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 06:06:02 -0700 Received: from ajax.apache.org (ajax.apache.org [83.161.120.155]) by ajax.apache.org (Postfix) with ESMTP id 271CFDF for <stephanie15@example.org>; Tue, 2 Aug 2005 15:05:59 +0200 (CEST) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <stephanie15@example.org> To: stephanie15@example.org Date: Tue, 02 Aug 2005 13:05:59 -0000 Message-ID: <stephanie15@example.org> Subject: [Xmlgraphics-fop Wiki] Update of "ProcessingFeedback" by JeremiasMaerki X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xmlgraphics-fop Wiki" for change notification. The following page has been changed by JeremiasMaerki: http://wiki.apache.org/xmlgraphics-fop/ProcessingFeedback The comment on the change is: Notes as seen on the mailing list plus some more ideas New page: = What we have = * Commons Logging * !ElementListObserver (useful for developers only) * !FormattingResults (recently ported from 0.20.5) = Problems = Commons Logging logs through static variables so it is difficult to separate feedback in a multi-threaded environment. Also, logging is actually mostly useful for developers, not necessarily for users. Verbose settings from the command-line will now produce a lot of alien-looking stuff. !FormattingResults is only a very simple solution. It fits some people's needs but is limited. = Further needs and wishes = * Call backs from inside the layout engine alerting the calling application about layout problems such as overflows, missing resources, validation warnings and errors. * Some applications need to be stricter about layout problems and may choose to veto some warnings which should effectively throw an exception and halt processing. * FO editor writers will want to provide better feedback during design/preview time for their users when problems arise. They need some sort of location and context information that can be given back. * In mass document production environment it is important to have a mechanisms in place that allow identifying anomalies. * For machine-interpretation all events should have an ID and for human-interpretation feedback from FOP should eventually be translated in the user's own language because many error messages may be difficult to understand. * For some embedded use cases, additional hooks for providing images as !BufferedImages or via Graphics2D would be very nice as it could spare some people writing a FOP extension. We already have a stream insertion (or rather custom URI resolution) hook in FO!UserAgent. * User-oriented feedback from FOP in general should be available per processing run (as opposed to debugging output currently provided by Commons Logging). * The layout engine should be able to provide some information per-page which, for example, indicates whether a page has been filled up to the bottom with content or not. Even if it is not a real "error" to create unfilled pages, underfull pages are not beautiful. This information, that could be taken from the !PageBreakPositions, would allow users to easily check if fop produced "good" pages without the need to open the pdf and stephanie15@example.org. * Furthermore, editor writers might be interested to know what IDs ended up on which page to provide quick "jump-to-problem" functions, for example. --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6896stephanie15@example.org Tue Aug 02 13:08:49 2005 Return-Path: <fop-commits-return-6896stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 67773 invoked from network); 2 Aug 2005 13:08:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 13:08:49 -0000 Received: (qmail 85432 invoked by uid 500); 2 Aug 2005 13:08:49 -0000 Delivered-To: stephanie15@example.org Received: (qmail 85389 invoked by uid 500); 2 Aug 2005 13:08:48 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 85372 invoked by uid 500); 2 Aug 2005 13:08:48 -0000 Delivered-To: stephanie15@example.org Received: (qmail 85336 invoked by uid 99); 2 Aug 2005 13:08:48 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO ajax.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 06:08:39 -0700 Received: from ajax.apache.org (ajax.apache.org [83.161.120.155]) by ajax.apache.org (Postfix) with ESMTP id DFB8BDF for <stephanie15@example.org>; Tue, 2 Aug 2005 15:08:36 +0200 (CEST) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <stephanie15@example.org> To: stephanie15@example.org Date: Tue, 02 Aug 2005 13:08:36 -0000 Message-ID: <stephanie15@example.org> Subject: [Xmlgraphics-fop Wiki] Update of "ProcessingFeedback" by JeremiasMaerki X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xmlgraphics-fop Wiki" for change notification. The following page has been changed by JeremiasMaerki: http://wiki.apache.org/xmlgraphics-fop/ProcessingFeedback The comment on the change is: touch-up ------------------------------------------------------------------------------ * For machine-interpretation all events should have an ID and for human-interpretation feedback from FOP should eventually be translated in the user's own language because many error messages may be difficult to understand. * For some embedded use cases, additional hooks for providing images as !BufferedImages or via Graphics2D would be very nice as it could spare some people writing a FOP extension. We already have a stream insertion (or rather custom URI resolution) hook in FO!UserAgent. * User-oriented feedback from FOP in general should be available per processing run (as opposed to debugging output currently provided by Commons Logging). - * The layout engine should be able to provide some information per-page which, for example, indicates whether a page has been filled up to the bottom with content or not. Even if it is not a real "error" to create unfilled pages, underfull pages are not beautiful. This information, that could be taken from the !PageBreakPositions, would allow users to easily check if fop produced "good" pages without the need to open the pdf and stephanie15@example.org. + * The layout engine should be able to provide some information per-page, for example: An important information for users producing book-style documents is, for each page, the difference between the available page heigth and the actual content height. Even if it is not a real "error" to create unfilled pages, underfull pages are not beautiful. This information, that could be taken from the !PageBreakPositions, would allow users to easily check if fop produced "good" pages without the need to open the pdf and stephanie15@example.org. * Furthermore, editor writers might be interested to know what IDs ended up on which page to provide quick "jump-to-problem" functions, for example. --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6897stephanie15@example.org Tue Aug 02 14:31:27 2005 Return-Path: <fop-commits-return-6897stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 14055 invoked from network); 2 Aug 2005 14:31:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 14:31:26 -0000 Received: (qmail 44602 invoked by uid 500); 2 Aug 2005 14:31:13 -0000 Delivered-To: stephanie15@example.org Received: (qmail 44479 invoked by uid 500); 2 Aug 2005 14:31:11 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 44428 invoked by uid 99); 2 Aug 2005 14:31:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 07:31:11 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 07:30:59 -0700 Received: (qmail 13903 invoked by uid 65534); 2 Aug 2005 14:31:07 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227015 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Date: Tue, 02 Aug 2005 14:31:06 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 07:31:03 2005 New Revision: 227015 URL: http://svn.apache.org/viewcvs?rev=227015&view=rev Log: Padding was ignored by the table stepper. This fixes the newly modified table-cell7.xml. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java?rev=227015&r1=227014&r2=227015&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Tue Aug 2 07:31:03 2005 @@ -56,7 +56,9 @@ private int[] widths; private int[] baseWidth; private int[] borderBefore; + private int[] paddingBefore; private int[] borderAfter; + private int[] paddingAfter; private boolean rowBacktrackForLastStep; private boolean[] keepWithNextSignals; private boolean[] forcedBreaks; @@ -78,7 +80,9 @@ widths = new int[columnCount]; baseWidth = new int[columnCount]; borderBefore = new int[columnCount]; + paddingBefore = new int[columnCount]; borderAfter = new int[columnCount]; + paddingAfter = new int[columnCount]; keepWithNextSignals = new boolean[columnCount]; forcedBreaks = new boolean[columnCount]; Arrays.fill(end, -1); @@ -134,6 +138,7 @@ int len = widths[i]; if (len > 0) { len += borderBefore[i] + borderAfter[i]; + len += paddingBefore[i] + paddingAfter[i]; } int nominalHeight = rowGroup[activeRow].getHeight().opt; for (int r = 0; r < gu.getRowSpanIndex(); r++) { @@ -197,6 +202,8 @@ } else { borderBefore[column] = pgu.getBorders().getBorderBeforeWidth(false) / 2; } + paddingBefore[column] = pgu.getBorders().getPaddingBefore(false); + paddingAfter[column] = pgu.getBorders().getPaddingAfter(false); start[column] = 0; end[column] = -1; widths[column] = 0; @@ -294,6 +301,8 @@ = getTableLM().getTable().getCommonBorderPaddingBackground(); effPenaltyLen += borders.getBorderBeforeWidth(false); effPenaltyLen += borders.getBorderAfterWidth(false); + effPenaltyLen += borders.getPaddingBefore(false); + effPenaltyLen += borders.getPaddingAfter(false); } TableContentPosition tcpos = new TableContentPosition(getTableLM(), gridUnitParts, getActiveRow()); @@ -458,6 +467,7 @@ } } log.debug("borders before=" + borderBefore[i] + " after=" + borderAfter[i]); + log.debug("padding before=" + paddingBefore[i] + " after=" + paddingAfter[i]); } if (seqCount == 0) { return -1; @@ -472,6 +482,7 @@ baseWidth[i] += rowGroup[prevRow].getHeight().opt; } baseWidth[i] += borderBefore[i] + borderAfter[i]; + baseWidth[i] += paddingBefore[i] + paddingAfter[i]; if (end[i] >= start[i]) { int len = baseWidth[i] + widths[i]; sb.append(len + " "); --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6898stephanie15@example.org Tue Aug 02 15:32:44 2005 Return-Path: <fop-commits-return-6898stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 49570 invoked from network); 2 Aug 2005 15:32:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 15:32:44 -0000 Received: (qmail 77112 invoked by uid 500); 2 Aug 2005 15:32:43 -0000 Delivered-To: stephanie15@example.org Received: (qmail 77079 invoked by uid 500); 2 Aug 2005 15:32:42 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 77064 invoked by uid 99); 2 Aug 2005 15:32:42 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 08:32:42 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 08:32:33 -0700 Received: (qmail 49480 invoked by uid 65534); 2 Aug 2005 15:32:41 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227026 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr: AbstractBreaker.java BlockContainerLayoutManager.java Date: Tue, 02 Aug 2005 15:32:40 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 08:32:35 2005 New Revision: 227026 URL: http://svn.apache.org/viewcvs?rev=227026&view=rev Log: Make it possible to keep block-container element lists apart from normal page-level element lists. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=227026&r1=227025&r2=227026&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Tue Aug 2 08:32:35 2005 @@ -165,6 +165,15 @@ //nop } + /** + * Used for debugging purposes. Notifies all registered observers about the element list. + * Override to set different parameters. + * @param elementList the Knuth element list + */ + protected void observeElementList(List elementList) { + ElementListObserver.observe(elementList, "breaker", null); + } + public void doLayout(int flowBPD) { LayoutContext childLC = createLayoutContext(); childLC.setStackLimit(new MinOptMax(flowBPD)); @@ -204,7 +213,7 @@ : "even page"; log.debug(" sequence starts on " + pagina); } - ElementListObserver.observe(blockList, "breaker", null); + observeElementList(blockList); //debug code end log.debug("PLM> start of algorithm (" + this.getClass().getName() Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java?rev=227026&r1=227025&r2=227026&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java Tue Aug 2 08:32:35 2005 @@ -19,6 +19,7 @@ package org.apache.fop.layoutmgr; import java.util.LinkedList; +import java.util.List; import java.util.ListIterator; import java.awt.Point; import java.awt.geom.Rectangle2D; @@ -447,6 +448,12 @@ this.ipd = ipd; } + /** @see org.apache.fop.layoutmgr.AbstractBreaker#observeElementList(java.util.List) */ + protected void observeElementList(List elementList) { + ElementListObserver.observe(elementList, "block-container", + bclm.getBlockContainerFO().getId()); + } + /** @see org.apache.fop.layoutmgr.AbstractBreaker#isPartOverflowRecoveryActivated() */ protected boolean isPartOverflowRecoveryActivated() { //For block-containers, this must be disabled because of wanted overflow. --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6899stephanie15@example.org Tue Aug 02 15:39:18 2005 Return-Path: <fop-commits-return-6899stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 62107 invoked from network); 2 Aug 2005 15:39:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 15:39:18 -0000 Received: (qmail 95249 invoked by uid 500); 2 Aug 2005 15:38:50 -0000 Delivered-To: stephanie15@example.org Received: (qmail 95201 invoked by uid 500); 2 Aug 2005 15:38:50 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 95109 invoked by uid 99); 2 Aug 2005 15:38:50 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 08:38:50 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 08:38:39 -0700 Received: (qmail 61202 invoked by uid 65534); 2 Aug 2005 15:38:47 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227027 - /xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java Date: Tue, 02 Aug 2005 15:38:46 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 08:38:43 2005 New Revision: 227027 URL: http://svn.apache.org/viewcvs?rev=227027&view=rev Log: Allow "<0" and ">0" expressions for the "p" part on a penalty. Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java?rev=227027&r1=227026&r2=227027&view=diff ============================================================================== --- xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java (original) +++ xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/ElementListCheck.java Tue Aug 2 08:38:43 2005 @@ -104,22 +104,36 @@ } } if (domEl.getAttribute("p").length() > 0) { - int p; - if ("INF".equalsIgnoreCase(domEl.getAttribute("p"))) { - p = KnuthPenalty.INFINITE; - } else if ("INFINITE".equalsIgnoreCase(domEl.getAttribute("p"))) { - p = KnuthPenalty.INFINITE; - } else if ("-INF".equalsIgnoreCase(domEl.getAttribute("p"))) { - p = -KnuthPenalty.INFINITE; - } else if ("-INFINITE".equalsIgnoreCase(domEl.getAttribute("p"))) { - p = -KnuthPenalty.INFINITE; + if ("<0".equals(domEl.getAttribute("p"))) { + if (knuthEl.getP() >= 0) { + fail("Expected p<0" + + " at position " + pos + + " but got: " + knuthEl.getP()); + } + } else if (">0".equals(domEl.getAttribute("p"))) { + if (knuthEl.getP() <= 0) { + fail("Expected p>0" + + " at position " + pos + + " but got: " + knuthEl.getP()); + } } else { - p = Integer.parseInt(domEl.getAttribute("p")); - } - if (p != knuthEl.getP()) { - fail("Expected p=" + p - + " at position " + pos - + " but got: " + knuthEl.getP()); + int p; + if ("INF".equalsIgnoreCase(domEl.getAttribute("p"))) { + p = KnuthPenalty.INFINITE; + } else if ("INFINITE".equalsIgnoreCase(domEl.getAttribute("p"))) { + p = KnuthPenalty.INFINITE; + } else if ("-INF".equalsIgnoreCase(domEl.getAttribute("p"))) { + p = -KnuthPenalty.INFINITE; + } else if ("-INFINITE".equalsIgnoreCase(domEl.getAttribute("p"))) { + p = -KnuthPenalty.INFINITE; + } else { + p = Integer.parseInt(domEl.getAttribute("p")); + } + if (p != knuthEl.getP()) { + fail("Expected p=" + p + + " at position " + pos + + " but got: " + knuthEl.getP()); + } } } if ("true".equals(domEl.getAttribute("flagged"))) { --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6900stephanie15@example.org Tue Aug 02 15:56:26 2005 Return-Path: <fop-commits-return-6900stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 89505 invoked from network); 2 Aug 2005 15:56:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 15:56:26 -0000 Received: (qmail 49163 invoked by uid 500); 2 Aug 2005 15:56:25 -0000 Delivered-To: stephanie15@example.org Received: (qmail 49142 invoked by uid 500); 2 Aug 2005 15:56:25 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 49123 invoked by uid 99); 2 Aug 2005 15:56:25 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 08:56:25 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 08:56:17 -0700 Received: (qmail 89466 invoked by uid 65534); 2 Aug 2005 15:56:24 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227029 - /xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml Date: Tue, 02 Aug 2005 15:56:24 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 08:56:20 2005 New Revision: 227029 URL: http://svn.apache.org/viewcvs?rev=227029&view=rev Log: Test case for badly broken table rows as discussed on fop-dev. Added: xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml Added: xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml?rev=227029&view=auto ============================================================================== --- xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml (added) +++ xmlgraphics/fop/trunk/test/layoutengine/testcases/table-body4.xml Tue Aug 2 08:56:20 2005 @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2005 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!-- $Id$ --> +<testcase> + <info> + <p> + This test checks element-lists on tables, particularly a constellation where a single line + from one column might be printed alone while the rest of the content is broken over to + the next part. + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg"> + <fo:layout-master-set> + <fo:simple-page-master master-name="normal" page-width="4in" page-height="1.4in"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="normal" widows="3" orphans="3"> + <fo:flow flow-name="xsl-region-body"> + <fo:block-container height="9*8400mpt"> + <fo:block/> + </fo:block-container> + <fo:table font-size="8pt"> + <fo:table-column column-width="10%"/> + <fo:table-column column-width="90%"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block>A</fo:block> + <fo:block>B</fo:block> + <!-- Note: The second "B" block is there to trigger a problem that was revealed in a earlier attempt at handling this special case. --> + </fo:table-cell> + <fo:table-cell> + <fo:block>Cras et felis faucibus justo fringilla tincidunt. Vivamus vitae wisi ut orci egestas bibendum. Nullam nunc orci, euismod non, pulvinar sit amet, aliquet a, leo. Aliquam dapibus, justo pulvinar euismod fringilla, neque ipsum pretium lorem, eget pharetra eros massa vel nulla. Ut lobortis enim id magna. Pellentesque sagittis. Etiam tristique arcu. Cras eu dolor. Praesent aliquam wisi sit amet enim. Nullam id diam.</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- Both 'A' and 'B' must be on the second page --> + <eval expected="2" xpath="//text[.='A']/ancestor888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4pageViewport/@nr"/> + <eval expected="2" xpath="//text[.='B']/ancestor888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4pageViewport/@nr"/> + <element-list category="breaker"> + <box w="75600"/> <!-- block-container as spacer --> + <penalty w="0" p="0"/> + <box w="0"/> + <penalty w="9600" p="&gt;0"/> + <box w="0"/> + <penalty w="19200" p="&gt;0"/> + <box w="28800"/> + <penalty w="0" p="0"/> + <box w="28800"/> + <skip>3</skip> + </element-list> + </checks> +</testcase> --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6901stephanie15@example.org Tue Aug 02 15:58:39 2005 Return-Path: <fop-commits-return-6901stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 92128 invoked from network); 2 Aug 2005 15:58:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Aug 2005 15:58:38 -0000 Received: (qmail 50652 invoked by uid 500); 2 Aug 2005 15:58:38 -0000 Delivered-To: stephanie15@example.org Received: (qmail 50628 invoked by uid 500); 2 Aug 2005 15:58:38 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 50614 invoked by uid 99); 2 Aug 2005 15:58:37 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2005 08:58:37 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 02 Aug 2005 08:58:28 -0700 Received: (qmail 92058 invoked by uid 65534); 2 Aug 2005 15:58:36 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227030 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Date: Tue, 02 Aug 2005 15:58:35 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Tue Aug 2 08:58:31 2005 New Revision: 227030 URL: http://svn.apache.org/viewcvs?rev=227030&view=rev Log: Fix for table-body4.xml. Higher penalty values for breaks that would results in unwelcome table breaks. At the moment this is hard-coded to an arbitrary value and needs to be refined. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java?rev=227030&r1=227029&r2=227030&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableStepper.java Tue Aug 2 08:58:31 2005 @@ -324,9 +324,19 @@ } } int p = 0; + boolean allCellsHaveContributed = true; signalKeepWithNext = false; for (int i = 0; i < start.length; i++) { + if (start[i] == 0 && end[i] < 0 && elementLists[i] != null) { + allCellsHaveContributed = false; + } signalKeepWithNext |= keepWithNextSignals[i]; + } + if (!allCellsHaveContributed) { + //Not all cells have contributed to a newly started row. The penalty here is + //used to avoid breaks resulting in badly broken tables. + //See also: http://marc.theaimsgroup.com/?t=112248999600005&r=1&w=2 + p = 900; //KnuthPenalty.INFINITE; //TODO Arbitrary value. Please refine. } if (signalKeepWithNext || getTableLM().mustKeepTogether()) { p = KnuthPenalty.INFINITE; --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6902stephanie15@example.org Wed Aug 03 11:55:36 2005 Return-Path: <fop-commits-return-6902stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 5438 invoked from network); 3 Aug 2005 11:55:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Aug 2005 11:55:36 -0000 Received: (qmail 38126 invoked by uid 500); 3 Aug 2005 11:55:36 -0000 Delivered-To: stephanie15@example.org Received: (qmail 38103 invoked by uid 500); 3 Aug 2005 11:55:35 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 38089 invoked by uid 99); 3 Aug 2005 11:55:35 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2005 04:55:35 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 03 Aug 2005 04:55:27 -0700 Received: (qmail 5419 invoked by uid 65534); 3 Aug 2005 11:55:34 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227202 [1/3] - in /xmlgraphics/fop/trunk/src/documentation: content/xdocs/compliance.ihtml skinconf.xml Date: Wed, 03 Aug 2005 11:55:33 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jeremias Date: Wed Aug 3 04:55:22 2005 New Revision: 227202 URL: http://svn.apache.org/viewcvs?rev=227202&view=rev Log: Update to Forrest 0.7. Preparations for second column for trunk on the compilance page. Submitted by: Manuel Mall <mm.at.arcus.com.au> Modified: xmlgraphics/fop/trunk/src/documentation/content/xdocs/compliance.ihtml xmlgraphics/fop/trunk/src/documentation/skinconf.xml --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6903stephanie15@example.org Wed Aug 03 11:55:37 2005 Return-Path: <fop-commits-return-6903stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 5474 invoked from network); 3 Aug 2005 11:55:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Aug 2005 11:55:37 -0000 Received: (qmail 38244 invoked by uid 500); 3 Aug 2005 11:55:36 -0000 Delivered-To: stephanie15@example.org Received: (qmail 38186 invoked by uid 500); 3 Aug 2005 11:55:36 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 38104 invoked by uid 99); 3 Aug 2005 11:55:36 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2005 04:55:36 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 03 Aug 2005 04:55:27 -0700 Received: (qmail 5425 invoked by uid 65534); 3 Aug 2005 11:55:35 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227202 [3/3] - in /xmlgraphics/fop/trunk/src/documentation: content/xdocs/compliance.ihtml skinconf.xml Date: Wed, 03 Aug 2005 11:55:33 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: xmlgraphics/fop/trunk/src/documentation/skinconf.xml URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/documentation/skinconf.xml?rev=227202&r1=227201&r2=227202&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/documentation/skinconf.xml (original) +++ xmlgraphics/fop/trunk/src/documentation/skinconf.xml Wed Aug 3 04:55:22 2005 @@ -100,8 +100,8 @@ <!-- Some skins use this to form a 'breadcrumb trail' of links. Use location="alt" to move the trail to an alternate location (if the skin supports it). - Omit the location attribute to display the trail in the default location. - Use location="none" to not display the trail (if the skin supports it). + Omit the location attribute to display the trail in the default location. + Use location="none" to not display the trail (if the skin supports it). For some skins just set the attributes to blank. --> <trail location="alt"> @@ -153,8 +153,15 @@ .yes { background-color: #99FF99; } .no { background-color: #FF9999; } .partial { background-color: #FFFFCC; } - .category { /*background-color: #CFDCED;*/ - font-size: 1.2em } + .ForrestTable td.basic { text-align: center; } + .ForrestTable td.extended { text-align: center; } + .ForrestTable td.complete { text-align: center; } + .ForrestTable td.na { text-align: center; } + .ForrestTable td.yes { background-color: #99FF99; text-align: center; } + .ForrestTable td.no { background-color: #FF9999; text-align: center; } + .ForrestTable td.partial { background-color: #FFFFCC; text-align: center; } + .ForrestTable td.category { /*background-color: #CFDCED;*/ + font-size: 1.2em } </extra-css> --------------------------------------------------------------------- To unsubscribe, e-mail: stephanie15@example.org For additional commands, e-mail: stephanie15@example.org From fop-commits-return-6904stephanie15@example.org Wed Aug 03 11:55:41 2005 Return-Path: <fop-commits-return-6904stephanie15@example.org> Delivered-To: stephanie15@example.org Received: (qmail 5529 invoked from network); 3 Aug 2005 11:55:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Aug 2005 11:55:40 -0000 Received: (qmail 38482 invoked by uid 500); 3 Aug 2005 11:55:40 -0000 Delivered-To: stephanie15@example.org Received: (qmail 38372 invoked by uid 500); 3 Aug 2005 11:55:39 -0000 Mailing-List: contact stephanie15@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:stephanie15@example.org> List-Unsubscribe: <mailto:stephanie15@example.org> List-Post: <mailto:stephanie15@example.org> List-Id: <fop-commits.xmlgraphics.apache.org> Reply-To: stephanie15@example.org Delivered-To: mailing list stephanie15@example.org Received: (qmail 38353 invoked by uid 99); 3 Aug 2005 11:55:39 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2005 04:55:39 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO minotaur.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 03 Aug 2005 04:55:27 -0700 Received: (qmail 5422 invoked by uid 65534); 3 Aug 2005 11:55:35 -0000 Message-ID: <stephanie15@example.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r227202 [2/3] - in /xmlgraphics/fop/trunk/src/documentation: content/xdocs/compliance.ihtml skinconf.xml Date: Wed, 03 Aug 2005 11:55:33 -0000 To: stephanie15@example.org From: stephanie15@example.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: xmlgraphics/fop/trunk/src/documentation/content/xdocs/compliance.ihtml URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/documentation/content/xdocs/compliance.ihtml?rev=227202&r1=227201&r2=227202&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/documentation/content/xdocs/compliance.ihtml (original) +++ xmlgraphics/fop/trunk/src/documentation/content/xdocs/compliance.ihtml Wed Aug 3 04:55:22 2005 @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- - Copyright 2002-2004 The Apache Software Foundation + Copyright 2002-2005 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23,135 +23,146 @@ <h1>W3C XSL-FO 1.0 Standard</h1> <p> - One of FOP's design goals is conformance to the <a href="http://www.w3.org/TR/xsl" name="fo">W3C XSL-FO 1.0 standard</a>, which specifies three levels of "conformance": basic, extended, and complete. Although FOP does not currently conform to any of these levels, it is nevertheless a useful work-in-progress for many applications. The information presented here demonstrates FOP's progress toward the goal of conformance, which progress consists of implementation of specific objects and properties in the standard. The information presented is useful not only to the developers as a sort of "to do" list, but also for setting proper expectations for users and potential users. + One of FOP's design goals is conformance to the + <a href="http://www.w3.org/TR/xsl">W3C XSL-FO 1.0 standard</a>, which specifies three levels + of "conformance": basic, extended, and complete. Although FOP does not currently conform to + any of these levels, it is nevertheless a useful work-in-progress for many applications. + The information presented here demonstrates FOP's progress toward the goal of conformance, + which progress consists of implementation of specific objects and properties in the standard. + The information presented is useful not only to the developers as a sort of "to do" list, + but also for setting proper expectations for users and potential users. </p> <p> - In the tables below, "yes" indicates conformance, "no" indicates a lack of conformance, "partial" indicates partial conformance, and "na" indicates that the item is "not applicable" to FOP. The color-coding indicates conformance at a specific conformance level, with blue indicating conformance, red indicating non-conformance, and gray indicating partial conformance. So, for example, a given item may be blue either because it is not required at the conformance level indicated, or because FOP supports this feature, or both. + In the tables below, "yes" (green background) indicates conformance, "no" (red background) + indicates a lack of conformance, "partial" (greyish background) indicates partial conformance, + and "na" indicates that the item is "not applicable" to FOP usually because FOP supports only + visual media. </p> - <h2><a href="#fo-object">XSL-FO Object Support</a></h2> + <h2><a href="#fo-object-section">XSL-FO Object Support</a></h2> <ul class="minitoc"> <li> - <strong><a href="#fo-object-decl">Declarations and Pagination and Layout Formatting Objects</a>: </strong><a href="#fo-object-root">root</a>, <a href="#fo-object-declarations">declarations</a>, <a href="#fo-object-color-profile">color-profile</a>, <a href="#fo-object-page-sequence">page-sequence</a>, <a href="#fo-object-layout-master-set">layout-master-set</a>, <a href="#fo-object-page-sequence-master">page-sequence-master</a>, <a href="#fo-object-single-page-master-reference">single-page-master-reference</a>, <a href="#fo-object-repeatable-page-master-reference">repeatable-page-master-reference</a>, <a href="#fo-object-repeatable-page-master-alternatives">repeatable-page-master-alternatives</a>, <a href="#fo-object-conditional-page-master-reference">conditional-page-master-reference</a>, <a href="#fo-object-simple-page-master">simple-page-master</a>, <a href="#fo-object-region-body">region-body</a>, <a href="#fo-object-region-before">region-before</a>, <a href="#fo-ob ject-region-after">region-after</a>, <a href="#fo-object-region-start">region-start</a>, <a href="#fo-object-region-end">region-end</a>, <a href="#fo-object-flow">flow</a>, <a href="#fo-object-static-content">static-content</a>, <a href="#fo-object-title">title</a> + <strong><a href="#fo-object-decl-section">Declarations and Pagination and Layout Formatting Objects</a>: </strong><a href="#fo-object-root">root</a>, <a href="#fo-object-declarations">declarations</a>, <a href="#fo-object-color-profile">color-profile</a>, <a href="#fo-object-page-sequence">page-sequence</a>, <a href="#fo-object-layout-master-set">layout-master-set</a>, <a href="#fo-object-page-sequence-master">page-sequence-master</a>, <a href="#fo-object-single-page-master-reference">single-page-master-reference</a>, <a href="#fo-object-repeatable-page-master-reference">repeatable-page-master-reference</a>, <a href="#fo-object-repeatable-page-master-alternatives">repeatable-page-master-alternatives</a>, <a href="#fo-object-conditional-page-master-reference">conditional-page-master-reference</a>, <a href="#fo-object-simple-page-master">simple-page-master</a>, <a href="#fo-object-region-body">region-body</a>, <a href="#fo-object-region-before">region-before</a>, <a href ="#fo-object-region-after">region-after</a>, <a href="#fo-object-region-start">region-start</a>, <a href="#fo-object-region-end">region-end</a>, <a href="#fo-object-flow">flow</a>, <a href="#fo-object-static-content">static-content</a>, <a href="#fo-object-title">title</a> </li> <li> - <strong><a href="#fo-object-block">Block Formatting Objects</a>: </strong><a href="#fo-object-block">block</a>, <a href="#fo-object-block-container">block-container</a> + <strong><a href="#fo-object-block-section">Block Formatting Objects</a>: </strong><a href="#fo-object-block">block</a>, <a href="#fo-object-block-container">block-container</a> </li> <li> - <strong><a href="#fo-object-inline">Inline Formatting Objects</a>: </strong><a href="#fo-object-bidi-override">bidi-override</a>, <a href="#fo-object-character">character</a>, <a href="#fo-object-initial-property-set">initial-property-set</a>, <a href="#fo-object-external-graphic">external-graphic</a>, <a href="#fo-object-instream-foreign-object">instream-foreign-object</a>, <a href="#fo-object-inline">inline</a>, <a href="#fo-object-inline-container">inline-container</a>, <a href="#fo-object-leader">leader</a>, <a href="#fo-object-page-number">page-number</a>, <a href="#fo-object-page-number-citation">page-number-citation</a> + <strong><a href="#fo-object-inline-section">Inline Formatting Objects</a>: </strong><a href="#fo-object-bidi-override">bidi-override</a>, <a href="#fo-object-character">character</a>, <a href="#fo-object-initial-property-set">initial-property-set</a>, <a href="#fo-object-external-graphic">external-graphic</a>, <a href="#fo-object-instream-foreign-object">instream-foreign-object</a>, <a href="#fo-object-inline">inline</a>, <a href="#fo-object-inline-container">inline-container</a>, <a href="#fo-object-leader">leader</a>, <a href="#fo-object-page-number">page-number</a>, <a href="#fo-object-page-number-citation">page-number-citation</a> </li> <li> - <strong><a href="#fo-object-table">Table Formatting Objects</a>: </strong><a href="#fo-object-table-and-caption">table-and-caption</a>, <a href="#fo-object-table">table</a>, <a href="#fo-object-table-column">table-column</a>, <a href="#fo-object-table-caption">table-caption</a>, <a href="#fo-object-table-header">table-header</a>, <a href="#fo-object-table-footer">table-footer</a>, <a href="#fo-object-table-body">table-body</a>, <a href="#fo-object-table-row">table-row</a>, <a href="#fo-object-table-cell">table-cell</a> + <strong><a href="#fo-object-table-section">Table Formatting Objects</a>: </strong><a href="#fo-object-table-and-caption">table-and-caption</a>, <a href="#fo-object-table">table</a>, <a href="#fo-object-table-column">table-column</a>, <a href="#fo-object-table-caption">table-caption</a>, <a href="#fo-object-table-header">table-header</a>, <a href="#fo-object-table-footer">table-footer</a>, <a href="#fo-object-table-body">table-body</a>, <a href="#fo-object-table-row">table-row</a>, <a href="#fo-object-table-cell">table-cell</a> </li> <li> - <strong><a href="#fo-object-list">List Formatting Objects</a>: </strong><a href="#fo-object-list-block">list-block</a>, <a href="#fo-object-list-item">list-item</a>, <a href="#fo-object-list-item-body">list-item-body</a>, <a href="#fo-object-list-item-label">list-item-label</a> + <strong><a href="#fo-object-list-section">List Formatting Objects</a>: </strong><a href="#fo-object-list-block">list-block</a>, <a href="#fo-object-list-item">list-item</a>, <a href="#fo-object-list-item-body">list-item-body</a>, <a href="#fo-object-list-item-label">list-item-label</a> </li> <li> - <strong><a href="#fo-object-link">Link and Multi Formatting Objects</a>: </strong><a href="#fo-object-basic-link">basic-link</a>, <a href="#fo-object-multi-switch">multi-switch</a>, <a href="#fo-object-multi-case">multi-case</a>, <a href="#fo-object-multi-toggle">multi-toggle</a>, <a href="#fo-object-multi-properties">multi-properties</a>, <a href="#fo-object-multi-property-set">multi-property-set</a> + <strong><a href="#fo-object-link-section">Link and Multi Formatting Objects</a>: </strong><a href="#fo-object-basic-link">basic-link</a>, <a href="#fo-object-multi-switch">multi-switch</a>, <a href="#fo-object-multi-case">multi-case</a>, <a href="#fo-object-multi-toggle">multi-toggle</a>, <a href="#fo-object-multi-properties">multi-properties</a>, <a href="#fo-object-multi-property-set">multi-property-set</a> </li> <li> - <strong><a href="#fo-object-outofline">Out-of-line Formatting Objects</a>: </strong><a href="#fo-object-float">float</a>, <a href="#fo-object-footnote">footnote</a>, <a href="#fo-object-footnote-body">footnote-body</a> + <strong><a href="#fo-object-outofline-section">Out-of-line Formatting Objects</a>: </strong><a href="#fo-object-float">float</a>, <a href="#fo-object-footnote">footnote</a>, <a href="#fo-object-footnote-body">footnote-body</a> </li> <li> - <strong><a href="#fo-object-other">Other Formatting Objects</a>: </strong><a href="#fo-object-wrapper">wrapper</a>, <a href="#fo-object-marker">marker</a>, <a href="#fo-object-retrieve-marker">retrieve-marker</a> + <strong><a href="#fo-object-other-section">Other Formatting Objects</a>: </strong><a href="#fo-object-wrapper">wrapper</a>, <a href="#fo-object-marker">marker</a>, <a href="#fo-object-retrieve-marker">retrieve-marker</a> </li> </ul> - <h2><a href="#fo-property">XSL-FO Property Support</a></h2> + <h2><a href="#fo-property-section">XSL-FO Property Support</a></h2> <ul> <li> - <strong><a href="#fo-property-commonaccess">Common Accessibility Properties</a>: </strong><a href="#fo-property-source-document">source-document</a>, <a href="#fo-property-role">role</a> + <strong><a href="#fo-property-commonaccess-section">Common Accessibility Properties</a>: </strong><a href="#fo-property-source-document">source-document</a>, <a href="#fo-property-role">role</a> </li> <li> - <strong><a href="#fo-property-commonabspos">Common Absolute Position Properties</a>: </strong><a href="#fo-property-absolute-position">absolute-position</a>, <a href="#fo-property-top">top</a>, <a href="#fo-property-right">right</a>, <a href="#fo-property-bottom">bottom</a>, <a href="#fo-property-left">left</a> + <strong><a href="#fo-property-commonabspos-section">Common Absolute Position Properties</a>: </strong><a href="#fo-property-absolute-position">absolute-position</a>, <a href="#fo-property-top">top</a>, <a href="#fo-property-right">right</a>, <a href="#fo-property-bottom">bottom</a>, <a href="#fo-property-left">left</a> </li> <li> - <strong><a href="#fo-property-commonaural">Common Aural Properties</a>: </strong><a href="#fo-property-azimuth">azimuth</a>, <a href="#fo-property-cue-after">cue-after</a>, <a href="#fo-property-cue-before">cue-before</a>, <a href="#fo-property-elevation">elevation</a>, <a href="#fo-property-pause-after">pause-after</a>, <a href="#fo-property-pause-before">pause-before</a>, <a href="#fo-property-pitch">pitch</a>, <a href="#fo-property-pitch-range">pitch-range</a>, <a href="#fo-property-play-during">play-during</a>, <a href="#fo-property-richness">richness</a>, <a href="#fo-property-speak">speak</a>, <a href="#fo-property-speak-header">speak-header</a>, <a href="#fo-property-speak-numeral">speak-numeral</a>, <a href="#fo-property-speak-punctuation">speak-punctuation</a>, <a href="#fo-property-speech-rate">speech-rate</a>, <a href="#fo-property-stress">stress</a>, <a href="#fo-property-voice-family">voice-family</a>, <a href="#fo-property-volume">volume</a> + <strong><a href="#fo-property-commonaural-section">Common Aural Properties</a>: </strong><a href="#fo-property-azimuth">azimuth</a>, <a href="#fo-property-cue-after">cue-after</a>, <a href="#fo-property-cue-before">cue-before</a>, <a href="#fo-property-elevation">elevation</a>, <a href="#fo-property-pause-after">pause-after</a>, <a href="#fo-property-pause-before">pause-before</a>, <a href="#fo-property-pitch">pitch</a>, <a href="#fo-property-pitch-range">pitch-range</a>, <a href="#fo-property-play-during">play-during</a>, <a href="#fo-property-richness">richness</a>, <a href="#fo-property-speak">speak</a>, <a href="#fo-property-speak-header">speak-header</a>, <a href="#fo-property-speak-numeral">speak-numeral</a>, <a href="#fo-property-speak-punctuation">speak-punctuation</a>, <a href="#fo-property-speech-rate">speech-rate</a>, <a href="#fo-property-stress">stress</a>, <a href="#fo-property-voice-family">voice-family</a>, <a href="#fo-property-volume">volume</a> </li> <li> - <strong><a href="#fo-property-commonenv">Common Border, Padding, and Background Properties</a>: </strong><a href="#fo-property-background-attachment">background-attachment</a>, <a href="#fo-property-background-color">background-color</a>, <a href="#fo-property-background-image">background-image</a>, <a href="#fo-property-background-repeat">background-repeat</a>, <a href="#fo-property-background-position-horizontal">background-position-horizontal</a>, <a href="#fo-property-background-position-vertical">background-position-vertical</a>, <a href="#fo-property-border-before-color">border-before-color</a>, <a href="#fo-property-border-before-style">border-before-style</a>, <a href="#fo-property-border-before-width">border-before-width</a>, <a href="#fo-property-border-after-color">border-after-color</a>, <a href="#fo-property-border-after-style">border-after-style</a>, <a href="#fo-property-border-after-width">border-after-width</a>, <a href="#fo-property-border-start-color ">border-start-color</a>, <a href="#fo-property-border-start-style">border-start-style</a>, <a href="#fo-property-border-start-width">border-start-width</a>, <a href="#fo-property-border-end-color">border-end-color</a>, <a href="#fo-property-border-end-style">border-end-style</a>, <a href="#fo-property-border-end-width">border-end-width</a>, <a href="#fo-property-border-top-color">border-top-color</a>, <a href="#fo-property-border-top-style">border-top-style</a>, <a href="#fo-property-border-top-width">border-top-width</a>, <a href="#fo-property-border-bottom-color">border-bottom-color</a>, <a href="#fo-property-border-bottom-style">border-bottom-style</a>, <a href="#fo-property-border-bottom-width">border-bottom-width</a>, <a href="#fo-property-border-left-color">border-left-color</a>, <a href="#fo-property-border-left-style">border-left-style</a>, <a href="#fo-property-border-left-width">border-left-width</a>, <a href="#fo-property-border-right-color">border-right-color</a >, <a href="#fo-property-border-right-style">border-right-style</a>, <a href="#fo-property-border-right-width">border-right-width</a>, <a href="#fo-property-padding-before">padding-before</a>, <a href="#fo-property-padding-after">padding-after</a>, <a href="#fo-property-padding-start">padding-start</a>, <a href="#fo-property-padding-end">padding-end</a>, <a href="#fo-property-padding-top">padding-top</a>, <a href="#fo-property-padding-bottom">padding-bottom</a>, <a href="#fo-property-padding-left">padding-left</a>, <a href="#fo-property-padding-right">padding-right</a> + <strong><a href="#fo-property-commonenv-section">Common Border, Padding, and Background Properties</a>: </strong><a href="#fo-property-background-attachment">background-attachment</a>, <a href="#fo-property-background-color">background-color</a>, <a href="#fo-property-background-image">background-image</a>, <a href="#fo-property-background-repeat">background-repeat</a>, <a href="#fo-property-background-position-horizontal">background-position-horizontal</a>, <a href="#fo-property-background-position-vertical">background-position-vertical</a>, <a href="#fo-property-border-before-color">border-before-color</a>, <a href="#fo-property-border-before-style">border-before-style</a>, <a href="#fo-property-border-before-width">border-before-width</a>, <a href="#fo-property-border-after-color">border-after-color</a>, <a href="#fo-property-border-after-style">border-after-style</a>, <a href="#fo-property-border-after-width">border-after-width</a>, <a href="#fo-property-border-sta rt-color">border-start-color</a>, <a href="#fo-property-border-start-style">border-start-style</a>, <a href="#fo-property-border-start-width">border-start-width</a>, <a href="#fo-property-border-end-color">border-end-color</a>, <a href="#fo-property-border-end-style">border-end-style</a>, <a href="#fo-property-border-end-width">border-end-width</a>, <a href="#fo-property-border-top-color">border-top-color</a>, <a href="#fo-property-border-top-style">border-top-style</a>, <a href="#fo-property-border-top-width">border-top-width</a>, <a href="#fo-property-border-bottom-color">border-bottom-color</a>, <a href="#fo-property-border-bottom-style">border-bottom-style</a>, <a href="#fo-property-border-bottom-width">border-bottom-width</a>, <a href="#fo-property-border-left-color">border-left-color</a>, <a href="#fo-property-border-left-style">border-left-style</a>, <a href="#fo-property-border-left-width">border-left-width</a>, <a href="#fo-property-border-right-color">border-right- color</a>, <a href="#fo-property-border-right-style">border-right-style</a>, <a href="#fo-property-border-right-width">border-right-width</a>, <a href="#fo-property-padding-before">padding-before</a>, <a href="#fo-property-padding-after">padding-after</a>, <a href="#fo-property-padding-start">padding-start</a>, <a href="#fo-property-padding-end">padding-end</a>, <a href="#fo-property-padding-top">padding-top</a>, <a href="#fo-property-padding-bottom">padding-bottom</a>, <a href="#fo-property-padding-left">padding-left</a>, <a href="#fo-property-padding-right">padding-right</a> </li> <li> - <strong><a href="#fo-property-commonfont">Common Font Properties</a>: </strong><a href="#fo-property-font-family">font-family</a>, <a href="#fo-property-font-selection-strategy">font-selection-strategy</a>, <a href="#fo-property-font-size">font-size</a>, <a href="#fo-property-font-stretch">font-stretch</a>, <a href="#fo-property-font-size-adjust">font-size-adjust</a>, <a href="#fo-property-font-style">font-style</a>, <a href="#fo-property-font-variant">font-variant</a>, <a href="#fo-property-font-weight">font-weight</a> + <strong><a href="#fo-property-commonfont-section">Common Font Properties</a>: </strong><a href="#fo-property-font-family">font-family</a>, <a href="#fo-property-font-selection-strategy">font-selection-strategy</a>, <a href="#fo-property-font-size">font-size</a>, <a href="#fo-property-font-stretch">font-stretch</a>, <a href="#fo-property-font-size-adjust">font-size-adjust</a>, <a href="#fo-property-font-style">font-style</a>, <a href="#fo-property-font-variant">font-variant</a>, <a href="#fo-property-font-weight">font-weight</a> </li> <li> - <strong><a href="#fo-property-commonhyphen">Common Hyphenation Properties</a>: </strong><a href="#fo-property-country">country</a>, <a href="#fo-property-language">language</a>, <a href="#fo-property-script">script</a>, <a href="#fo-property-hyphenate">hyphenate</a>, <a href="#fo-property-hyphenation-character">hyphenation-character</a>, <a href="#fo-property-hyphenation-push-character-count">hyphenation-push-character-count</a>, <a href="#fo-property-hyphenation-remain-character-count">hyphenation-remain-character-count</a> + <strong><a href="#fo-property-commonhyphen-section">Common Hyphenation Properties</a>: </strong><a href="#fo-property-country">country</a>, <a href="#fo-property-language">language</a>, <a href="#fo-property-script">script</a>, <a href="#fo-property-hyphenate">hyphenate</a>, <a href="#fo-property-hyphenation-character">hyphenation-character</a>, <a href="#fo-property-hyphenation-push-character-count">hyphenation-push-character-count</a>, <a href="#fo-property-hyphenation-remain-character-count">hyphenation-remain-character-count</a> </li> <li> - <strong><a href="#fo-property-commonmarginblock">Common Margin Properties - Block</a>: </strong><a href="#fo-property-margin-top">margin-top</a>, <a href="#fo-property-margin-bottom">margin-bottom</a>, <a href="#fo-property-margin-left">margin-left</a>, <a href="#fo-property-margin-right">margin-right</a>, <a href="#fo-property-space-before">space-before</a>, <a href="#fo-property-space-after">space-after</a>, <a href="#fo-property-start-indent">start-indent</a>, <a href="#fo-property-end-indent">end-indent</a> + <strong><a href="#fo-property-commonmarginblock-section">Common Margin Properties - Block</a>: </strong><a href="#fo-property-margin-top">margin-top</a>, <a href="#fo-property-margin-bottom">margin-bottom</a>, <a href="#fo-property-margin-left">margin-left</a>, <a href="#fo-property-margin-right">margin-right</a>, <a href="#fo-property-space-before">space-before</a>, <a href="#fo-property-space-after">space-after</a>, <a href="#fo-property-start-indent">start-indent</a>, <a href="#fo-property-end-indent">end-indent</a> </li> <li> - <strong><a href="#fo-property-commonmargininline">Common Margin Properties - Inline</a>: </strong><a href="#fo-property-space-end">space-end</a>, <a href="#fo-property-space-start">space-start</a> + <strong><a href="#fo-property-commonmargininline-section">Common Margin Properties - Inline</a>: </strong><a href="#fo-property-space-end">space-end</a>, <a href="#fo-property-space-start">space-start</a> </li> <li> - <strong><a href="#fo-property-commonrelpos">Common Relative Position Properties</a>: </strong><a href="#fo-property-relative-position">relative-position</a> + <strong><a href="#fo-property-commonrelpos-section">Common Relative Position Properties</a>: </strong><a href="#fo-property-relative-position">relative-position</a> </li> <li> - <strong><a href="#fo-property-areaalign">Area Alignment Properties</a>: </strong><a href="#fo-property-alignment-adjust">alignment-adjust</a>, <a href="#fo-property-alignment-baseline">alignment-baseline</a>, <a href="#fo-property-baseline-shift">baseline-shift</a>, <a href="#fo-property-display-align">display-align</a>,
{'source': 'Apache Software Foundation Public Mail Archives'}