git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196891 13f79535-47bb-0310-9956-ffa450edef68tags/Root_Temp_KnuthStylePageBreaking
import java.awt.geom.AffineTransform; | import java.awt.geom.AffineTransform; | ||||
import java.awt.geom.Point2D; | import java.awt.geom.Point2D; | ||||
import java.awt.geom.Rectangle2D; | import java.awt.geom.Rectangle2D; | ||||
import org.apache.fop.apps.*; | |||||
import org.apache.fop.svg.*; | |||||
/** | /** | ||||
* class representing the SVG root element | * class representing the SVG root element |
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.apps.Document; | |||||
import org.apache.fop.area.LinkResolver; | import org.apache.fop.area.LinkResolver; | ||||
import org.apache.fop.area.PageViewport; | import org.apache.fop.area.PageViewport; | ||||
import org.apache.fop.area.Resolveable; | import org.apache.fop.area.Resolveable; | ||||
import org.apache.fop.layoutmgr.list.Item; | import org.apache.fop.layoutmgr.list.Item; | ||||
import org.apache.fop.layoutmgr.list.ListBlockLayoutManager; | import org.apache.fop.layoutmgr.list.ListBlockLayoutManager; | ||||
import org.apache.fop.layoutmgr.list.ListItemLayoutManager; | import org.apache.fop.layoutmgr.list.ListItemLayoutManager; | ||||
import org.apache.fop.traits.MinOptMax; | |||||
import org.apache.fop.util.CharUtilities; | import org.apache.fop.util.CharUtilities; | ||||
import java.util.List; | import java.util.List; | ||||
import java.awt.geom.Point2D; | import java.awt.geom.Point2D; | ||||
import java.awt.geom.Rectangle2D; | import java.awt.geom.Rectangle2D; | ||||
import org.apache.fop.apps.*; | |||||
import org.apache.fop.traits.*; | |||||
/** | /** | ||||
* Concrete implementation of FOTreeVisitor for the purpose of adding | * Concrete implementation of FOTreeVisitor for the purpose of adding | ||||
* Layout Managers for nodes in the FOTree. | * Layout Managers for nodes in the FOTree. |
import org.apache.fop.fo.PropertyList; | import org.apache.fop.fo.PropertyList; | ||||
import org.apache.fop.area.CTM; | import org.apache.fop.area.CTM; | ||||
import org.apache.fop.datatypes.FODimension; | import org.apache.fop.datatypes.FODimension; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for a block FO. | * LayoutManager for a block FO. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import java.util.ListIterator; | import java.util.ListIterator; | ||||
import org.apache.fop.traits.LayoutProps; | import org.apache.fop.traits.LayoutProps; | ||||
import org.apache.fop.fo.properties.CommonBorderAndPadding; | import org.apache.fop.fo.properties.CommonBorderAndPadding; | ||||
import org.apache.fop.fo.properties.CommonBackground; | import org.apache.fop.fo.properties.CommonBackground; | ||||
import org.apache.fop.fonts.*; | |||||
import org.apache.fop.apps.*; | |||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for a block FO. | * LayoutManager for a block FO. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.area.Area; | import org.apache.fop.area.Area; | ||||
import org.apache.fop.area.BlockParent; | import org.apache.fop.area.BlockParent; | ||||
import org.apache.fop.area.Block; | import org.apache.fop.area.Block; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* Base LayoutManager class for all areas which stack their child | * Base LayoutManager class for all areas which stack their child |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.traits.LayoutProps; | import org.apache.fop.traits.LayoutProps; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* Represents a break possibility for the layout manager. | * Represents a break possibility for the layout manager. | ||||
public static final int CAN_BREAK_BEFORE = 0x10; | public static final int CAN_BREAK_BEFORE = 0x10; | ||||
/** has anchors */ | /** has anchors */ | ||||
public static final int HAS_ANCHORS = 0x40; | public static final int HAS_ANCHORS = 0x40; | ||||
/** | |||||
/** | |||||
* Set this flag if all fo:character generated Areas would | * Set this flag if all fo:character generated Areas would | ||||
* suppressed at the end or beginning of a line */ | * suppressed at the end or beginning of a line */ | ||||
public static final int ALL_ARE_SUPPRESS_AT_LB = 0x80; | public static final int ALL_ARE_SUPPRESS_AT_LB = 0x80; | ||||
/** This break possibility is a hyphenation */ | /** This break possibility is a hyphenation */ | ||||
public static final int HYPHENATED = 0x100; | public static final int HYPHENATED = 0x100; | ||||
/** | |||||
/** | |||||
* If this break possibility ends the line, all remaining characters | * If this break possibility ends the line, all remaining characters | ||||
* in the lowest level text LM will be suppressed. | * in the lowest level text LM will be suppressed. | ||||
*/ | */ |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.fo.FObj; | import org.apache.fop.fo.FObj; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* Content Layout Manager. | * Content Layout Manager. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.fo.flow.Marker; | import org.apache.fop.fo.flow.Marker; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for an fo:flow object. | * LayoutManager for an fo:flow object. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import org.apache.fop.area.inline.InlineArea; | import org.apache.fop.area.inline.InlineArea; | ||||
import org.apache.fop.area.inline.InlineParent; | import org.apache.fop.area.inline.InlineParent; | ||||
import org.apache.fop.area.inline.Space; | import org.apache.fop.area.inline.Space; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for objects which stack children in the inline direction, | * LayoutManager for objects which stack children in the inline direction, | ||||
childLC.setHyphContext(lc.getHyphContext()); | childLC.setHyphContext(lc.getHyphContext()); | ||||
} | } | ||||
if (((bp = curLM.getNextBreakPoss(childLC)) != null) | |||||
|| (lc.tryHyphenate() | |||||
if (((bp = curLM.getNextBreakPoss(childLC)) != null) | |||||
|| (lc.tryHyphenate() | |||||
&& !lc.getHyphContext().hasMoreHyphPoints())) { | && !lc.getHyphContext().hasMoreHyphPoints())) { | ||||
break; | break; | ||||
} | } |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** |
import org.apache.fop.area.Title; | import org.apache.fop.area.Title; | ||||
import org.apache.fop.fo.pagination.PageSequence; | import org.apache.fop.fo.pagination.PageSequence; | ||||
import org.apache.fop.fo.FOTreeHandler; | import org.apache.fop.fo.FOTreeHandler; | ||||
import org.apache.fop.apps.*; | |||||
import org.apache.fop.fo.extensions.*; | |||||
/** | /** | ||||
* The implementation of LayoutStrategy for the "redesign" or second generation | * The implementation of LayoutStrategy for the "redesign" or second generation |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.area.Area; | import org.apache.fop.area.Area; | ||||
import org.apache.fop.area.inline.InlineArea; | import org.apache.fop.area.inline.InlineArea; | ||||
import org.apache.fop.fo.properties.VerticalAlign; | import org.apache.fop.fo.properties.VerticalAlign; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* Base LayoutManager for leaf-node FObj, ie: ones which have no children. | * Base LayoutManager for leaf-node FObj, ie: ones which have no children. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.fo.PropertyManager; | import org.apache.fop.fo.PropertyManager; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for lines. It builds one or more lines containing | * LayoutManager for lines. It builds one or more lines containing | ||||
getLayoutManager() != curLM)); | getLayoutManager() != curLM)); | ||||
// Need previous breakpoint! ATTENTION when backing up for hyphenation! | // Need previous breakpoint! ATTENTION when backing up for hyphenation! | ||||
prev = (vecInlineBreaks.isEmpty()) | |||||
prev = (vecInlineBreaks.isEmpty()) | |||||
? null | ? null | ||||
: (BreakPoss) vecInlineBreaks.get(vecInlineBreaks.size() - 1); | : (BreakPoss) vecInlineBreaks.get(vecInlineBreaks.size() - 1); | ||||
initChildLC(inlineLC, prev, | initChildLC(inlineLC, prev, | ||||
/* Can't end line here. */ | /* Can't end line here. */ | ||||
} | } | ||||
} // end of bpDim.min <= availIPD.max | } // end of bpDim.min <= availIPD.max | ||||
// end of getNextBreakPoss!=null on current child LM | |||||
// end of getNextBreakPoss!=null on current child LM | |||||
} else { | } else { | ||||
/* The child LM can return a null BreakPoss if it has | /* The child LM can return a null BreakPoss if it has | ||||
* nothing (more) to layout. This can happen when backing | * nothing (more) to layout. This can happen when backing |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import org.apache.fop.traits.SpaceVal; | import org.apache.fop.traits.SpaceVal; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* Accumulate a sequence of space-specifiers (XSL space type) on | * Accumulate a sequence of space-specifiers (XSL space type) on | ||||
* add it to the sequence. | * add it to the sequence. | ||||
*/ | */ | ||||
public void addSpace(SpaceVal moreSpace) { | public void addSpace(SpaceVal moreSpace) { | ||||
if (!bStartsRefArea | |||||
|| !moreSpace.isConditional() | |||||
if (!bStartsRefArea | |||||
|| !moreSpace.isConditional() | |||||
|| !vecSpaceVals.isEmpty()) { | || !vecSpaceVals.isEmpty()) { | ||||
if (moreSpace.isForcing()) { | if (moreSpace.isForcing()) { | ||||
if (bHasForcing == false) { | if (bHasForcing == false) { |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr; | package org.apache.fop.layoutmgr; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import org.apache.fop.area.inline.Word; | import org.apache.fop.area.inline.Word; | ||||
import org.apache.fop.area.inline.Space; | import org.apache.fop.area.inline.Space; | ||||
import org.apache.fop.util.CharUtilities; | import org.apache.fop.util.CharUtilities; | ||||
import org.apache.fop.fonts.*; | |||||
import org.apache.fop.traits.*; | |||||
import org.apache.fop.traits.MinOptMax; | |||||
/** | /** | ||||
* LayoutManager for text (a sequence of characters) which generates one | * LayoutManager for text (a sequence of characters) which generates one | ||||
(AreaInfo) vecAreaInfo.get(endPos.getLeafPos()); | (AreaInfo) vecAreaInfo.get(endPos.getLeafPos()); | ||||
// Skip all leading spaces for hyphenation | // Skip all leading spaces for hyphenation | ||||
int i; | int i; | ||||
for (i = ai.iStartIndex; | |||||
for (i = ai.iStartIndex; | |||||
i < ai.iBreakIndex && CharUtilities.isAnySpace(chars[i]) == true; | i < ai.iBreakIndex && CharUtilities.isAnySpace(chars[i]) == true; | ||||
i++) { | i++) { | ||||
//nop | //nop | ||||
*/ | */ | ||||
public boolean canBreakBefore(LayoutContext context) { | public boolean canBreakBefore(LayoutContext context) { | ||||
char c = chars[iNextStart]; | char c = chars[iNextStart]; | ||||
return ((c == NEWLINE) | |||||
|| (textInfo.bWrap && (CharUtilities.isSpace(c) | |||||
return ((c == NEWLINE) | |||||
|| (textInfo.bWrap && (CharUtilities.isSpace(c) | |||||
|| BREAK_CHARS.indexOf(c) >= 0))); | || BREAK_CHARS.indexOf(c) >= 0))); | ||||
} | } | ||||
char c = chars[iNextStart]; | char c = chars[iNextStart]; | ||||
if ((c == NEWLINE) || // Include any breakable white-space as break char | if ((c == NEWLINE) || // Include any breakable white-space as break char | ||||
// even if fixed width | // even if fixed width | ||||
(textInfo.bWrap && (CharUtilities.isSpace(c) | |||||
(textInfo.bWrap && (CharUtilities.isSpace(c) | |||||
|| BREAK_CHARS.indexOf(c) >= 0))) { | || BREAK_CHARS.indexOf(c) >= 0))) { | ||||
iFlags |= BreakPoss.CAN_BREAK_AFTER; | iFlags |= BreakPoss.CAN_BREAK_AFTER; | ||||
if (c != SPACE) { | if (c != SPACE) { | ||||
// line-end, set a flag for parent LM. | // line-end, set a flag for parent LM. | ||||
int iLastChar; | int iLastChar; | ||||
for (iLastChar = iNextStart; | for (iLastChar = iNextStart; | ||||
iLastChar < chars.length | |||||
iLastChar < chars.length | |||||
&& chars[iLastChar] == SPACE; iLastChar++) { | && chars[iLastChar] == SPACE; iLastChar++) { | ||||
//nop | //nop | ||||
} | } | ||||
} | } | ||||
word = w; | word = w; | ||||
} | } | ||||
if ((chars[iStart] == SPACE || chars[iStart] == NBSPACE) | |||||
if ((chars[iStart] == SPACE || chars[iStart] == NBSPACE) | |||||
&& context.getLeadingSpace().hasSpaces()) { | && context.getLeadingSpace().hasSpaces()) { | ||||
context.getLeadingSpace().addSpace(halfWS); | context.getLeadingSpace().addSpace(halfWS); | ||||
} | } | ||||
// Can we have any trailing space? Yes, if last char was a space! | // Can we have any trailing space? Yes, if last char was a space! | ||||
context.setTrailingSpace(new SpaceSpecifier(false)); | context.setTrailingSpace(new SpaceSpecifier(false)); | ||||
if (chars[ai.iBreakIndex - 1] == SPACE | |||||
if (chars[ai.iBreakIndex - 1] == SPACE | |||||
|| chars[ai.iBreakIndex - 1] == NBSPACE) { | || chars[ai.iBreakIndex - 1] == NBSPACE) { | ||||
context.getTrailingSpace().addSpace(halfWS); | context.getTrailingSpace().addSpace(halfWS); | ||||
} | } |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr.list; | package org.apache.fop.layoutmgr.list; | ||||
import org.apache.fop.fo.PropertyManager; | import org.apache.fop.fo.PropertyManager; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* LayoutManager for a list-item FO. | * LayoutManager for a list-item FO. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr.table; | package org.apache.fop.layoutmgr.table; | ||||
import org.apache.fop.fo.PropertyManager; | import org.apache.fop.fo.PropertyManager; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* LayoutManager for a table-row FO. | * LayoutManager for a table-row FO. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.layoutmgr.table; | package org.apache.fop.layoutmgr.table; | ||||
import org.apache.fop.fo.PropertyManager; | import org.apache.fop.fo.PropertyManager; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* LayoutManager for a table FO. | * LayoutManager for a table FO. |
import org.w3c.dom.svg.SVGSVGElement; | import org.w3c.dom.svg.SVGSVGElement; | ||||
import java.awt.geom.AffineTransform; | import java.awt.geom.AffineTransform; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* PDF XML handler. | * PDF XML handler. |
import org.w3c.dom.Document; | import org.w3c.dom.Document; | ||||
import org.w3c.dom.svg.SVGDocument; | import org.w3c.dom.svg.SVGDocument; | ||||
import org.w3c.dom.svg.SVGSVGElement; | import org.w3c.dom.svg.SVGSVGElement; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* This class enables to transcode an input to a PostScript document. | * This class enables to transcode an input to a PostScript document. |
import org.apache.fop.render.XMLHandler; | import org.apache.fop.render.XMLHandler; | ||||
import org.apache.fop.render.RendererContext; | import org.apache.fop.render.RendererContext; | ||||
import org.apache.fop.fo.extensions.svg.SVGUserAgent; | import org.apache.fop.fo.extensions.svg.SVGUserAgent; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* PostScript XML handler. | * PostScript XML handler. |
package org.apache.fop.rtf.rtflib.rtfdoc; | package org.apache.fop.rtf.rtflib.rtfdoc; | ||||
//import java.io.*; | |||||
import java.io.Writer; | import java.io.Writer; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | import java.util.List; |
package org.apache.fop.rtf.rtflib.rtfdoc; | package org.apache.fop.rtf.rtflib.rtfdoc; | ||||
import org.apache.fop.rtf.rtflib.exceptions.RtfStructureException; | import org.apache.fop.rtf.rtflib.exceptions.RtfStructureException; | ||||
//import org.apache.fop.rtf.rtflib.jfor.converter.ConverterLogChannel; | |||||
//import java.io.*; | |||||
import java.io.Writer; | import java.io.Writer; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.BufferedWriter; | import java.io.BufferedWriter; |
package org.apache.fop.rtf.rtflib.rtfdoc; | package org.apache.fop.rtf.rtflib.rtfdoc; | ||||
//import java.util.*; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.HashMap; | import java.util.HashMap; | ||||
import java.util.Iterator; | import java.util.Iterator; |
import org.w3c.dom.Document; | import org.w3c.dom.Document; | ||||
import org.w3c.dom.svg.SVGDocument; | import org.w3c.dom.svg.SVGDocument; | ||||
import org.w3c.dom.svg.SVGSVGElement; | import org.w3c.dom.svg.SVGSVGElement; | ||||
import org.apache.fop.apps.*; | |||||
/** | /** | ||||
* This class enables to transcode an input to a pdf document. | * This class enables to transcode an input to a pdf document. |
* ============================================================================ | * ============================================================================ | ||||
* The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. | ||||
* | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modifica- | * Redistribution and use in source and binary forms, with or without modifica- | ||||
* tion, are permitted provided that the following conditions are met: | * tion, are permitted provided that the following conditions are met: | ||||
* | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||||
* this list of conditions and the following disclaimer in the documentation | * this list of conditions and the following disclaimer in the documentation | ||||
* and/or other materials provided with the distribution. | * and/or other materials provided with the distribution. | ||||
* | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if any, must | * 3. The end-user documentation included with the redistribution, if any, must | ||||
* include the following acknowledgment: "This product includes software | * include the following acknowledgment: "This product includes software | ||||
* developed by the Apache Software Foundation (http://www.apache.org/)." | * developed by the Apache Software Foundation (http://www.apache.org/)." | ||||
* Alternately, this acknowledgment may appear in the software itself, if | * Alternately, this acknowledgment may appear in the software itself, if | ||||
* and wherever such third-party acknowledgments normally appear. | * and wherever such third-party acknowledgments normally appear. | ||||
* | |||||
* | |||||
* 4. The names "FOP" and "Apache Software Foundation" must not be used to | * 4. The names "FOP" and "Apache Software Foundation" must not be used to | ||||
* endorse or promote products derived from this software without prior | * endorse or promote products derived from this software without prior | ||||
* written permission. For written permission, please contact | * written permission. For written permission, please contact | ||||
* apache@apache.org. | * apache@apache.org. | ||||
* | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache", nor may | * 5. Products derived from this software may not be called "Apache", nor may | ||||
* "Apache" appear in their name, without prior written permission of the | * "Apache" appear in their name, without prior written permission of the | ||||
* Apache Software Foundation. | * Apache Software Foundation. | ||||
* | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, | ||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* ============================================================================ | * ============================================================================ | ||||
* | |||||
* | |||||
* This software consists of voluntary contributions made by many individuals | * This software consists of voluntary contributions made by many individuals | ||||
* on behalf of the Apache Software Foundation and was originally created by | * on behalf of the Apache Software Foundation and was originally created by | ||||
* James Tauber <jtauber@jtauber.com>. For more information on the Apache | * James Tauber <jtauber@jtauber.com>. For more information on the Apache | ||||
* Software Foundation, please see <http://www.apache.org/>. | * Software Foundation, please see <http://www.apache.org/>. | ||||
*/ | |||||
*/ | |||||
package org.apache.fop.svg; | package org.apache.fop.svg; | ||||
import java.util.StringTokenizer; | import java.util.StringTokenizer; | ||||
import java.awt.geom.Rectangle2D; | import java.awt.geom.Rectangle2D; | ||||
import java.awt.font.FontRenderContext; | import java.awt.font.FontRenderContext; | ||||
//import org.apache.fop.fo.*; | |||||
//import org.apache.fop.datatypes.*; | |||||
import org.w3c.dom.Element; | import org.w3c.dom.Element; | ||||
import org.w3c.dom.Document; | import org.w3c.dom.Document; | ||||
import org.w3c.dom.DOMImplementation; | import org.w3c.dom.DOMImplementation; |