cvs commit: xml-fop/src/org/apache/fop/svg package.html
keiron 2002/10/30 00:55:45 Modified:src/org/apache/fop/svg package.html Log: updated for latest code Revision ChangesPath 1.4 +27 -3 xml-fop/src/org/apache/fop/svg/package.html Index: package.html === RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/package.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- package.html 22 Nov 1999 17:55:07 - 1.3 +++ package.html 30 Oct 2002 08:55:45 - 1.4 @@ -1,7 +1,31 @@ HTML TITLEorg.apache.fop.svg Package/TITLE BODY -PClasses that add basic SVG support to FOP/P -PThis includes flow objects, areas and properties./P +PClasses that add SVG support to FOP and SVG-PDF conversion for Batik./P +P +This package contains classes for drawing to PDF using +a Graphics2D implementation. +/P +P +The classes: PDFAElementBridge, PDFANode, PDFImageElementBridge, +PDFTextElementBridge and PDFTextPainter are used in conjunction +with batik to draw the SVG into the PDF document. +/P +P +The PDFTranscoder is a transcoder for use with batik to convert +from SVG to a single page PDF document. +/P +P +SVGElement, SVGElementMapping, SVGObj and SVGUserAgent are used by +FOP for handling embedded SVG or external SVG graphics. +/P +P +The PDFGraphics2D does all the work to draw into a PDF document and +the PDFDocumentGraphics2D is used when drawing into a single document. +/P +P +SVGUtilities contains some useful svg element creation methods. +/P /BODY -/HTML \ No newline at end of file +/HTML + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
handling patches
Hi All, Since we now have some patches lining up in bugzilla I was wondering how/who these should be handled. Victor how do you suggest that we approach this, what do you see hapenning. And of course the other issue, where are these patches eventually leading to. What I want is that this process goes smoothly and promptly with causing further confusion and fragmentation. Keiron. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/pagination PageSequenceMaster.java
pbwest 2002/10/30 04:59:00 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design PageSequenceMaster.java Log: Untabified. Revision ChangesPath No revision No revision 1.4.2.4 +74 -74xml-fop/src/org/apache/fop/fo/pagination/PageSequenceMaster.java Index: PageSequenceMaster.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/PageSequenceMaster.java,v retrieving revision 1.4.2.3 retrieving revision 1.4.2.4 diff -u -r1.4.2.3 -r1.4.2.4 --- PageSequenceMaster.java 21 Oct 2002 16:15:03 - 1.4.2.3 +++ PageSequenceMaster.java 30 Oct 2002 12:58:59 - 1.4.2.4 @@ -47,7 +47,7 @@ private static final String revision = $Revision$; /** Constant representing the ino-limit/i value of the - maximum-repeats property. */ +maximum-repeats property. */ public static final int NO_LIMIT = -1; private String masterName; @@ -62,18 +62,18 @@ * ttFoSimplePageMaster/tts indexed by master-name. */ public PageSequenceMaster - (String masterName, FoPageSequenceMaster pageSeq, - HashMap simplePageMasters) - throws PropertyException, FOPException +(String masterName, FoPageSequenceMaster pageSeq, +HashMap simplePageMasters) +throws PropertyException, FOPException { - String masterRef; +String masterRef; FoSimplePageMaster simplePM; - PageMasterAlternatives masterAlt; +PageMasterAlternatives masterAlt; int maxRepeats = 1; int enumValue; PropertyValue pv; Numeric npv; - this.masterName = masterName; +this.masterName = masterName; // Convert the simple-page-masters into page-sequence-masters Iterator names = simplePageMasters.keySet().iterator(); while (names.hasNext()) { @@ -90,17 +90,17 @@ PagePosition.ANY)); masters.add(masterAlt); } - // Process the sequence of masters. - int numChildren = pageSeq.numChildren(); - for (int child = 0; child numChildren; child++) { - FONode masterReference = (FONode)(pageSeq.getChild(child)); - switch (masterReference.type) { - case FObjectNames.SINGLE_PAGE_MASTER_REFERENCE: - // Get the master-reference property value +// Process the sequence of masters. +int numChildren = pageSeq.numChildren(); +for (int child = 0; child numChildren; child++) { +FONode masterReference = (FONode)(pageSeq.getChild(child)); +switch (masterReference.type) { +case FObjectNames.SINGLE_PAGE_MASTER_REFERENCE: +// Get the master-reference property value simplePM = getMasterReference (masterReference, simplePageMasters); - // Create and add a PageMasterAlternatives - masterAlt = new PageMasterAlternatives(1, 1); +// Create and add a PageMasterAlternatives +masterAlt = new PageMasterAlternatives(1, 1); // Create and add a single default PageCondition masterAlt.addCondition (masterAlt.new PageCondition(simplePM, @@ -109,8 +109,8 @@ PagePosition.ANY)); masters.add(masterAlt); break; - case FObjectNames.REPEATABLE_PAGE_MASTER_REFERENCE: - // Get the master-reference property value +case FObjectNames.REPEATABLE_PAGE_MASTER_REFERENCE: +// Get the master-reference property value simplePM = getMasterReference (masterReference, simplePageMasters); // Get the maximum-repeats @@ -138,8 +138,8 @@ throw new FOPException (MAXIMUM_REPEATS not an integer.); } - // Create and add a PageMasterAlternatives - masterAlt = new PageMasterAlternatives(0, maxRepeats); +// Create and add a PageMasterAlternatives +masterAlt = new PageMasterAlternatives(0, maxRepeats); // Create and add a single default PageCondition masterAlt.addCondition (masterAlt.new PageCondition(simplePM, @@ -148,7 +148,7 @@ PagePosition.ANY));
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoPageSequenceMaster.java
pbwest 2002/10/30 05:09:11 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoPageSequenceMaster.java Log: Added sparsePropsSet support. Untabified. Revision ChangesPath No revision No revision 1.1.2.12 +228 -107 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoPageSequenceMaster.java Index: FoPageSequenceMaster.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoPageSequenceMaster.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -r1.1.2.11 -r1.1.2.12 --- FoPageSequenceMaster.java 28 Oct 2002 00:08:11 - 1.1.2.11 +++ FoPageSequenceMaster.java 30 Oct 2002 13:09:11 - 1.1.2.12 @@ -9,8 +9,8 @@ package org.apache.fop.fo.pagination; -import java.util.ArrayList; -import java.util.LinkedList; +import java.util.HashMap; +import java.util.BitSet; import java.util.NoSuchElementException; // FOP @@ -30,6 +30,7 @@ import org.apache.fop.datastructs.Tree; import org.apache.fop.datatypes.PropertyValue; import org.apache.fop.datatypes.NCName; +import org.apache.fop.datatypes.Ints; /** * Implements the fo:page-sequence-master flow object. These Fos are @@ -42,6 +43,138 @@ private static final String tag = $Name$; private static final String revision = $Revision$; +/** Map of ttInteger/tt indices of isparsePropsSet/i array. +It is indexed by the FO index of the FO associated with a given +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +private static final HashMap sparsePropsMap; + +/** An ttint/tt array of of the applicable property indices, in +property index order. */ +private static final int[] sparseIndices; + +/** The number of applicable properties. This is the size of the +isparsePropsSet/i array. */ +private static final int numProps; + +static { +// applicableProps is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(1); +numProps = 1; +sparseIndices = new int[] { PropNames.MASTER_NAME }; +sparsePropsMap.put +(Ints.consts.get(PropNames.MASTER_NAME), Ints.consts.get(0)); +} + +/** Constant values for FoSinglePageMasterReference. +See {@link #sparsePropsMap sparsePropsMap}. */ +private static final HashMap s_p_m_r_PropsMap; + +/** See {@link #sparseIndices sparseIndices}. */ +private static final int[] s_p_m_r_Indices; + +/** See {@link #numProps numProps}. */ +private static final int s_p_m_r_numProps; + +static { +// applicableProps is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +s_p_m_r_PropsMap = new HashMap(1); +s_p_m_r_numProps = 1; +s_p_m_r_Indices = new int[] { PropNames.MASTER_REFERENCE }; +s_p_m_r_PropsMap.put +(Ints.consts.get(PropNames.MASTER_REFERENCE), +Ints.consts.get(0)); +} + +/** See {@link #sparsePropsMap sparsePropsMap}. */ +private static final HashMap r_p_m_r_PropsMap; + +/** See {@link #sparseIndices sparseIndices}. */ +private static final int[] r_p_m_r_Indices; + +/** See {@link #numProps numProps}. */ +private static final int r_p_m_r_numProps; + +static { +// Collect the sets of properties that apply +BitSet propsets = new BitSet(); +propsets.set(PropNames.MASTER_REFERENCE); +propsets.set(PropNames.MAXIMUM_REPEATS); + +// Map these properties into sparsePropsSet +// sparsePropsSet is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +r_p_m_r_PropsMap = new HashMap(); +r_p_m_r_numProps = propsets.cardinality(); +r_p_m_r_Indices = new int[r_p_m_r_numProps]; +int propx = 0; +for (int next = propsets.nextSetBit(0); +next = 0; +next = propsets.nextSetBit(next + 1)) { +r_p_m_r_Indices[propx] = next; +r_p_m_r_PropsMap.put +(Ints.consts.get(next), Ints.consts.get(propx++)); +} +} + +/** See {@link #sparsePropsMap sparsePropsMap}. */ +private static final HashMap r_p_m_a_PropsMap; + +/** See {@link #sparseIndices
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoLayoutMasterSet.java
pbwest 2002/10/30 05:19:04 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoLayoutMasterSet.java Log: Added sparsePropsSet support. Untabified. Revision ChangesPath No revision No revision 1.1.2.12 +61 -29 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoLayoutMasterSet.java Index: FoLayoutMasterSet.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoLayoutMasterSet.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -r1.1.2.11 -r1.1.2.12 --- FoLayoutMasterSet.java28 Oct 2002 00:08:11 - 1.1.2.11 +++ FoLayoutMasterSet.java30 Oct 2002 13:19:04 - 1.1.2.12 @@ -41,6 +41,30 @@ private static final String tag = $Name$; private static final String revision = $Revision$; +/** Map of ttInteger/tt indices of isparsePropsSet/i array. +It is indexed by the FO index of the FO associated with a given +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +private static final HashMap sparsePropsMap; + +/** An ttint/tt array of of the applicable property indices, in +property index order. */ +private static final int[] sparseIndices; + +/** The number of applicable properties. This is the size of the +isparsePropsSet/i array. */ +private static final int numProps; + +static { +// applicableProps is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(0); +numProps = 0; +sparseIndices = new int[] {}; +} + /** * An array with ttint/tts identifying * ttsimple-page-master/tt and ttpage-sequence-master/tt @@ -81,8 +105,15 @@ throws Tree.TreeException, FOPException, PropertyException { super(foTree, FObjectNames.LAYOUT_MASTER_SET, parent, event, - FOPropertySets.LAYOUT_SET); - setupPageMasters(event); + FOPropertySets.LAYOUT_SET, sparsePropsMap, sparseIndices, + numProps); +setupPageMasters(event); +// No need to clean up the build tree, because the whole subtree +// will be deleted. +// This is problematical: while Node is obliged to belong to a Tree, +// any remaining references to elements of the subtree will keep the +// whole subtree from being GCed. +makeSparsePropsSet(); } /** @@ -93,12 +124,12 @@ * @throws ttFOPException/tt. */ public void setupPageMasters(FoXMLEvent event) - throws FOPException, PropertyException +throws FOPException, PropertyException { - FoSimplePageMaster simple; - String masterName; +FoSimplePageMaster simple; +String masterName; int foType; - FoPageSequenceMaster foPageSeq; +FoPageSequenceMaster foPageSeq; try { do { FoXMLEvent ev = @@ -125,7 +156,7 @@ //System.out.println(Found page-sequence-master); try { foPageSeq = - new FoPageSequenceMaster(foTree, this, ev); +new FoPageSequenceMaster(foTree, this, ev); } catch (Tree.TreeException e) { throw new FOPException (TreeException: + e.getMessage()); @@ -143,6 +174,8 @@ } else throw new FOPException (Aargh! expectStartElement(events, list)); +// Flush the master event +xmlevents.getEndElement(ev); } while (true); } catch (NoSuchElementException e) { // Unexpected end of file @@ -155,26 +188,25 @@ throw new FOPException(e); } if (pageMasters.size() == 0) -throw new FOPException(No pageg masters defined in layout-master-set.); - // Create the master set structures. - // Scan the page-sequence-masters - // N.B. Processing of the page-sequence-masters must be deferred until - // now because contained master-references may be to - // simple-page-masters which follow the page-sequence-master in the - // input tree. - Set pageSeqSet = pageMasters.keySet(); - Iterator pageSeqNames = pageSeqSet.iterator(); - while (pageSeqNames.hasNext()) { - masterName =
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoSimplePageMaster.java
pbwest 2002/10/30 05:34:34 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoSimplePageMaster.java Log: Added sparsePropsSet support. Added processing of all of the regions. Revision ChangesPath No revision No revision 1.1.2.9 +95 -5 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoSimplePageMaster.java Index: FoSimplePageMaster.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoSimplePageMaster.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -r1.1.2.8 -r1.1.2.9 --- FoSimplePageMaster.java 28 Oct 2002 00:08:11 - 1.1.2.8 +++ FoSimplePageMaster.java 30 Oct 2002 13:34:34 - 1.1.2.9 @@ -15,6 +15,7 @@ import org.apache.fop.xml.XMLEvent; import org.apache.fop.xml.FoXMLEvent; import org.apache.fop.apps.FOPException; +import org.apache.fop.fo.PropertySets; import org.apache.fop.fo.FOPropertySets; import org.apache.fop.fo.FObjectNames; import org.apache.fop.fo.FONode; @@ -23,6 +24,10 @@ import org.apache.fop.datastructs.Tree; import org.apache.fop.datatypes.PropertyValue; import org.apache.fop.datatypes.NCName; +import org.apache.fop.datatypes.Ints; + +import java.util.HashMap; +import java.util.BitSet; /** * Implements the fo:simple-page-master flow object @@ -32,6 +37,53 @@ private static final String tag = $Name$; private static final String revision = $Revision$; +/** Map of ttInteger/tt indices of isparsePropsSet/i array. +It is indexed by the FO index of the FO associated with a given +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +private static final HashMap sparsePropsMap; + +/** An ttint/tt array of of the applicable property indices, in +property index order. */ +private static final int[] sparseIndices; + +/** The number of applicable properties. This is the size of the +isparsePropsSet/i array. */ +private static final int numProps; + +static { +// Collect the sets of properties that apply +BitSet propsets = PropertySets.marginBlockSetClone(); +propsets.set(PropNames.MASTER_NAME); +propsets.set(PropNames.PAGE_HEIGHT); +propsets.set(PropNames.PAGE_WIDTH); +propsets.set(PropNames.REFERENCE_ORIENTATION); +propsets.set(PropNames.WRITING_MODE); + +// Map these properties into sparsePropsSet +// sparsePropsSet is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(); +numProps = propsets.cardinality(); +sparseIndices = new int[numProps]; +int propx = 0; +for (int next = propsets.nextSetBit(0); +next = 0; +next = propsets.nextSetBit(next + 1)) { +sparseIndices[propx] = next; +sparsePropsMap.put +(Ints.consts.get(next), Ints.consts.get(propx++)); +} +} + +private FoRegionBody regionBody; +private FoRegionBefore regionBefore; +private FoRegionAfter regionAfter; +private FoRegionStart regionStart; +private FoRegionEnd regionEnd; + /** * @param foTree the FO tree being built * @param parent the parent FONode of this node @@ -42,7 +94,8 @@ throws Tree.TreeException, FOPException { super(foTree, FObjectNames.SIMPLE_PAGE_MASTER, parent, event, - FOPropertySets.LAYOUT_SET); + FOPropertySets.LAYOUT_SET, sparsePropsMap, sparseIndices, + numProps); // Process regions here FoXMLEvent regionEv; if ((regionEv = xmlevents.expectStartElement @@ -50,14 +103,51 @@ throw new FOPException (No fo:region-body in simple-page-master: + getMasterName()); +// Process region-body +regionBody = new FoRegionBody(foTree, this, regionEv); +xmlevents.getEndElement(regionEv); + +// Remaining regions are optional +if ((regionEv = xmlevents.expectStartElement +(FObjectNames.REGION_BEFORE, XMLEvent.DISCARD_W_SPACE)) +!= null) +{ +regionBefore = new FoRegionBefore(foTree, this, regionEv); +xmlevents.getEndElement(regionEv); +} + +if ((regionEv = xmlevents.expectStartElement +(FObjectNames.REGION_AFTER, XMLEvent.DISCARD_W_SPACE)) +!=
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoRegionBody.java
pbwest 2002/10/30 05:35:57 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoRegionBody.java Log: Name changes for sparsePropsSet support. Removed getPropertyValue(). Revision ChangesPath No revision No revision 1.1.2.2 +22 -40xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBody.java Index: FoRegionBody.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBody.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FoRegionBody.java 28 Oct 2002 00:04:37 - 1.1.2.1 +++ FoRegionBody.java 30 Oct 2002 13:35:57 - 1.1.2.2 @@ -35,28 +35,24 @@ private static final String tag = $Name$; private static final String revision = $Revision$; -/** Map of ttInteger/tt indices of iapplicableProps/i array. +/** Map of ttInteger/tt indices of isparsePropsSet/i array. It is indexed by the FO index of the FO associated with a given -position in the iapplicableProps/i array. */ -private static final HashMap applicablePropsHash; +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +private static final HashMap sparsePropsMap; /** An ttint/tt array of of the applicable property indices, in property index order. */ -private static final int[] applicableIndices; +private static final int[] sparseIndices; /** The number of applicable properties. This is the size of the -iapplicableProps/i array. */ +isparsePropsSet/i array. */ private static final int numProps; -/** The array of applicable properties. Slots in this array are indexed -by values from the iapplicableProps/i ttHashMap/tt. -It is effectively a sparse array of the set of properties. */ -private PropertyValue[] applicableProps; - static { -int propx = 0; // Collect the sets of properties that apply -BitSet propsets = (BitSet)(PropertySets.backgroundSet.clone()); +BitSet propsets = PropertySets.backgroundSetClone(); propsets.or(PropertySets.borderSet); propsets.or(PropertySets.paddingSet); propsets.or(PropertySets.marginBlockSet); @@ -69,18 +65,19 @@ propsets.set(PropNames.COLUMN_COUNT); propsets.set(PropNames.COLUMN_GAP); -// Map these properties into applicableProps -// applicableProps is a HashMap containing the indicies of the -// applicableProps array, indexed by the FO index of the FO slot -// in applicableProps. -applicablePropsHash = new HashMap(); +// Map these properties into sparsePropsSet +// sparsePropsSet is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(); numProps = propsets.cardinality(); -applicableIndices = new int[numProps]; +sparseIndices = new int[numProps]; +int propx = 0; for (int next = propsets.nextSetBit(0); next = 0; next = propsets.nextSetBit(next + 1)) { -applicableIndices[propx] = next; -applicablePropsHash.put +sparseIndices[propx] = next; +sparsePropsMap.put (Ints.consts.get(next), Ints.consts.get(propx++)); } } @@ -95,24 +92,9 @@ throws Tree.TreeException, FOPException { super(foTree, FObjectNames.REGION_BODY, parent, event, - FOPropertySets.LAYOUT_SET); -applicableProps = new PropertyValue[numProps]; -// Develop the property set for this FO - -FoXMLEvent ev = xmlevents.getEndElement(event); + FOPropertySets.LAYOUT_SET, sparsePropsMap, sparseIndices, + numProps); +makeSparsePropsSet(); } -/** - * Get a property value applying to this FO node. - * @param property - the ttint/tt property index. - * @return the ttPropertyValue/tt with the indicated property index. - */ -public PropertyValue getPropertyValue(int property) -throws PropertyException -{ -return applicableProps[ -((Integer) -(applicablePropsHash.get(Ints.consts.get(property.intValue() -]; -} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoRegionBeforeAfter.java FoRegionStartEnd.java
pbwest 2002/10/30 05:40:47 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoRegionBeforeAfter.java FoRegionStartEnd.java Log: Name changes for sparsePropsSet support. Revision ChangesPath No revision No revision 1.1.2.2 +21 -18 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBeforeAfter.java Index: FoRegionBeforeAfter.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBeforeAfter.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FoRegionBeforeAfter.java 28 Oct 2002 00:04:37 - 1.1.2.1 +++ FoRegionBeforeAfter.java 30 Oct 2002 13:40:47 - 1.1.2.2 @@ -34,23 +34,24 @@ private static final String tag = $Name$; private static final String revision = $Revision$; -/** Map of ttInteger/tt indices of iapplicableProps/i array. +/** Map of ttInteger/tt indices of isparsePropsSet/i array. It is indexed by the FO index of the FO associated with a given -position in the iapplicableProps/i array. */ -protected static final HashMap applicablePropsHash; +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +protected static final HashMap sparsePropsMap; /** An ttint/tt array of of the applicable property indices, in property index order. */ -protected static final int[] applicableIndices; +protected static final int[] sparseIndices; /** The number of applicable properties. This is the size of the -iapplicableProps/i array. */ +isparsePropsSet/i array. */ protected static final int numProps; static { -int propx = 0; // Collect the sets of properties that apply -BitSet propsets = (BitSet)(PropertySets.backgroundSet.clone()); +BitSet propsets = PropertySets.backgroundSetClone(); propsets.or(PropertySets.borderSet); propsets.or(PropertySets.paddingSet); propsets.set(PropNames.CLIP); @@ -62,18 +63,19 @@ propsets.set(PropNames.EXTENT); propsets.set(PropNames.PRECEDENCE); -// Map these properties into applicableProps -// applicableProps is a HashMap containing the indicies of the -// applicableProps array, indexed by the FO index of the FO slot -// in applicableProps. -applicablePropsHash = new HashMap(); +// Map these properties into sparsePropsSet +// sparsePropsSet is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(); numProps = propsets.cardinality(); -applicableIndices = new int[numProps]; +sparseIndices = new int[numProps]; +int propx = 0; for (int next = propsets.nextSetBit(0); next = 0; next = propsets.nextSetBit(next + 1)) { -applicableIndices[propx] = next; -applicablePropsHash.put +sparseIndices[propx] = next; +sparsePropsMap.put (Ints.consts.get(next), Ints.consts.get(propx++)); } } @@ -88,7 +90,8 @@ (FOTree foTree, int foType, FONode parent, FoXMLEvent event) throws Tree.TreeException, FOPException { -super(foTree, foType, parent, event, FOPropertySets.LAYOUT_SET); +super(foTree, foType, parent, event, FOPropertySets.LAYOUT_SET, +sparsePropsMap, sparseIndices, numProps); } } 1.1.2.2 +20 -17 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionStartEnd.java Index: FoRegionStartEnd.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionStartEnd.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FoRegionStartEnd.java 28 Oct 2002 00:04:37 - 1.1.2.1 +++ FoRegionStartEnd.java 30 Oct 2002 13:40:47 - 1.1.2.2 @@ -34,23 +34,25 @@ private static final String tag = $Name$; private static final String revision = $Revision$; -/** Map of ttInteger/tt indices of iapplicableProps/i array. +/** Map of ttInteger/tt indices of isparsePropsSet/i array. It is indexed by the FO index of the FO associated with a given -position in the iapplicableProps/i array. */ -protected static final HashMap applicablePropsHash; +position in the
cvs commit: xml-fop/src/org/apache/fop/fo/pagination FoRegionAfter.java FoRegionBefore.java FoRegionEnd.java FoRegionStart.java
pbwest 2002/10/30 05:44:03 Modified:src/org/apache/fop/fo/pagination Tag: FOP_0-20-0_Alt-Design FoRegionAfter.java FoRegionBefore.java FoRegionEnd.java FoRegionStart.java Log: Removed applicableProps, getEndElement() and getPropertyValue(). Extends FoRegionBeforeAfter/FoRegionStartEnd. Revision ChangesPath No revision No revision 1.1.2.2 +3 -31 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionAfter.java Index: FoRegionAfter.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionAfter.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FoRegionAfter.java28 Oct 2002 00:04:37 - 1.1.2.1 +++ FoRegionAfter.java30 Oct 2002 13:44:03 - 1.1.2.2 @@ -10,10 +10,6 @@ package org.apache.fop.fo.pagination; // FOP -import org.apache.fop.fo.FOAttributes; -import org.apache.fop.fo.PropNames; -import org.apache.fop.fo.FOPropertySets; -import org.apache.fop.fo.PropertySets; import org.apache.fop.fo.FObjectNames; import org.apache.fop.fo.FONode; import org.apache.fop.fo.FOTree; @@ -21,11 +17,6 @@ import org.apache.fop.xml.FoXMLEvent; import org.apache.fop.apps.FOPException; import org.apache.fop.datastructs.Tree; -import org.apache.fop.datatypes.PropertyValue; -import org.apache.fop.datatypes.Ints; - -import java.util.HashMap; -import java.util.BitSet; /** * Implements the fo:simple-page-master flow object @@ -35,11 +26,6 @@ private static final String tag = $Name$; private static final String revision = $Revision$; -/** The array of applicable properties. Slots in this array are indexed -by values from the iapplicableProps/i ttHashMap/tt. -It is effectively a sparse array of the set of properties. */ -private PropertyValue[] applicableProps; - /** * @param foTree the FO tree being built * @param parent the parent FONode of this node @@ -50,21 +36,7 @@ throws Tree.TreeException, FOPException { super(foTree, FObjectNames.REGION_AFTER, parent, event); -applicableProps = new PropertyValue[numProps]; -FoXMLEvent ev = xmlevents.getEndElement(event); +makeSparsePropsSet(); } -/** - * Get a property value applying to this FO node. - * @param property - the ttint/tt property index. - * @return the ttPropertyValue/tt with the indicated property index. - */ -public PropertyValue getPropertyValue(int property) -throws PropertyException -{ -return applicableProps[ -((Integer) -(applicablePropsHash.get(Ints.consts.get(property.intValue() -]; -} } 1.1.2.2 +3 -31 xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBefore.java Index: FoRegionBefore.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/Attic/FoRegionBefore.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FoRegionBefore.java 28 Oct 2002 00:04:37 - 1.1.2.1 +++ FoRegionBefore.java 30 Oct 2002 13:44:03 - 1.1.2.2 @@ -10,10 +10,6 @@ package org.apache.fop.fo.pagination; // FOP -import org.apache.fop.fo.FOAttributes; -import org.apache.fop.fo.PropNames; -import org.apache.fop.fo.FOPropertySets; -import org.apache.fop.fo.PropertySets; import org.apache.fop.fo.FObjectNames; import org.apache.fop.fo.FONode; import org.apache.fop.fo.FOTree; @@ -21,11 +17,6 @@ import org.apache.fop.xml.FoXMLEvent; import org.apache.fop.apps.FOPException; import org.apache.fop.datastructs.Tree; -import org.apache.fop.datatypes.PropertyValue; -import org.apache.fop.datatypes.Ints; - -import java.util.HashMap; -import java.util.BitSet; /** * Implements the fo:simple-page-master flow object @@ -35,11 +26,6 @@ private static final String tag = $Name$; private static final String revision = $Revision$; -/** The array of applicable properties. Slots in this array are indexed -by values from the iapplicableProps/i ttHashMap/tt. -It is effectively a sparse array of the set of properties. */ -private PropertyValue[] applicableProps; - /** * @param foTree the FO tree being built * @param parent the parent FONode of this node @@ -50,21 +36,7 @@ throws Tree.TreeException, FOPException { super(foTree, FObjectNames.REGION_BEFORE, parent, event); -applicableProps = new PropertyValue[numProps]; -
cvs commit: xml-fop/src/org/apache/fop/fo FOTree.java
pbwest 2002/10/30 06:32:26 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOTree.java Log: Moved getEndElement for fo:root element in here. In all cases, the class that issues the get/expect also issues the getEndElement. Revision ChangesPath No revision No revision 1.1.2.21 +6 -7 xml-fop/src/org/apache/fop/fo/Attic/FOTree.java Index: FOTree.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FOTree.java,v retrieving revision 1.1.2.20 retrieving revision 1.1.2.21 diff -u -r1.1.2.20 -r1.1.2.21 --- FOTree.java 24 Oct 2002 14:51:53 - 1.1.2.20 +++ FOTree.java 30 Oct 2002 14:32:25 - 1.1.2.21 @@ -123,14 +123,13 @@ (scriptsMap,Pk)); // Let the parser look after STARTDOCUMENT and the correct // positioning of the root element -event = xmlevents.getStartElement -(XMLNamespaces.XSLNSpaceIndex, root); -if (event != null) { -System.out.println(FOTree: + event); -} +event = xmlevents.getStartElement(FObjectNames.ROOT); foRoot = new FoRoot(this, event); foRoot.buildFoTree(); System.out.println(Back from buildFoTree); +// Clean up the fo:root event +xmlevents.getEndElement(event); +// Get the end of document xmlevents.getEndDocument(); } catch (Exception e) { if (errorDump) Driver.dumpError(e); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo FoRoot.java
pbwest 2002/10/30 06:35:11 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FoRoot.java Log: Added support for sparsePropsSet. Use foType in get/expect calls. getEndElement for fo:layout-master-set. Revision ChangesPath No revision No revision 1.1.2.12 +44 -13xml-fop/src/org/apache/fop/fo/Attic/FoRoot.java Index: FoRoot.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FoRoot.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -r1.1.2.11 -r1.1.2.12 --- FoRoot.java 24 Oct 2002 14:53:46 - 1.1.2.11 +++ FoRoot.java 30 Oct 2002 14:35:11 - 1.1.2.12 @@ -14,6 +14,7 @@ import org.apache.fop.fo.FOPropertySets; import org.apache.fop.fo.FObjectNames; import org.apache.fop.datastructs.Tree; +import org.apache.fop.datatypes.Ints; import org.apache.fop.fo.FOTree; import org.apache.fop.fo.FONode; import org.apache.fop.fo.expr.PropertyException; @@ -25,6 +26,7 @@ import org.xml.sax.Attributes; +import java.util.HashMap; import java.util.NoSuchElementException; /** @@ -43,6 +45,32 @@ private FoLayoutMasterSet layoutMasters; +/** Map of ttInteger/tt indices of isparsePropsSet/i array. +It is indexed by the FO index of the FO associated with a given +position in the isparsePropsSet/i array. See +{@link org.apache.fop.fo.FONode#sparsePropsSet FONode.sparsePropsSet}. + */ +private static final HashMap sparsePropsMap; + +/** An ttint/tt array of of the applicable property indices, in +property index order. */ +private static final int[] sparseIndices; + +/** The number of applicable properties. This is the size of the +isparsePropsSet/i array. */ +private static final int numProps; + +static { +// applicableProps is a HashMap containing the indicies of the +// sparsePropsSet array, indexed by the FO index of the FO slot +// in sparsePropsSet. +sparsePropsMap = new HashMap(1); +numProps = 1; +sparseIndices = new int[] { PropNames.MEDIA_USAGE }; +sparsePropsMap.put +(Ints.consts.get(PropNames.MEDIA_USAGE), Ints.consts.get(0)); +} + /** * @param foTree the FO tree being built * @param event the ttFoXMLEvent/tt that triggered the creation of this @@ -53,7 +81,8 @@ throws Tree.TreeException, FOPException, PropertyException { // This is the root node of the tree; hence the null argument -super(foTree, FObjectNames.ROOT, null, event, FOPropertySets.ROOT_SET); +super(foTree, FObjectNames.ROOT, null, event, FOPropertySets.ROOT_SET, +sparsePropsMap, sparseIndices, numProps); } /** @@ -82,18 +111,20 @@ */ public void buildFoTree() throws FOPException{ FoXMLEvent ev; -System.out.println(buildFoTree: + event); +//System.out.println(buildFoTree: + event); // Look for layout-master-set try { ev = xmlevents.expectStartElement -(XMLNamespaces.XSLNSpaceIndex, layout-master-set, -XMLEvent.DISCARD_W_SPACE); +(FObjectNames.LAYOUT_MASTER_SET, XMLEvent.DISCARD_W_SPACE); } catch (NoSuchElementException e) { -throw new FOPException(buildFoTree: Unexpected EOF in layout-master-set.); +throw new FOPException +(buildFoTree: Unexpected EOF in layout-master-set.); } // Process the layout-master-set try { layoutMasters = new FoLayoutMasterSet(foTree, this, ev); +// Clean up the fo:layout-master-set event +xmlevents.getEndElement(ev); } catch(Tree.TreeException e) { throw new FOPException(TreeException: + e.getMessage()); } catch(PropertyException e) { @@ -102,17 +133,17 @@ // Look for optional declarations try { ev = xmlevents.expectStartElement -(XMLNamespaces.XSLNSpaceIndex, declarations, -XMLEvent.DISCARD_W_SPACE); +(FObjectNames.DECLARATIONS, XMLEvent.DISCARD_W_SPACE); if (ev != null) { // process the declarations -xmlevents.getEndElement -(XMLNamespaces.XSLNSpaceIndex, declarations); +xmlevents.getEndElement(FObjectNames.DECLARATIONS); } } catch (NoSuchElementException e) { throw new FOPException
cvs commit: xml-fop/src/org/apache/fop/fo FONode.java
pbwest 2002/10/30 06:41:50 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FONode.java Log: sparsePropsSet support, including new constructor with sparsePropsMap, sparseIndices and numProps. makeSparsePropsSet(). getSparsePropValue(). Mods to getProperty for null propertySet. Revision ChangesPath No revision No revision 1.19.2.20 +81 -13xml-fop/src/org/apache/fop/fo/FONode.java Index: FONode.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FONode.java,v retrieving revision 1.19.2.19 retrieving revision 1.19.2.20 diff -u -r1.19.2.19 -r1.19.2.20 --- FONode.java 24 Oct 2002 14:51:52 - 1.19.2.19 +++ FONode.java 30 Oct 2002 14:41:49 - 1.19.2.20 @@ -7,6 +7,7 @@ import org.apache.fop.fo.properties.Property; import org.apache.fop.fo.expr.PropertyException; import org.apache.fop.fo.expr.PropertyParser; +import org.apache.fop.datatypes.Ints; import org.apache.fop.datatypes.PropertyValue; import org.apache.fop.datatypes.PropertyValueList; import org.apache.fop.datatypes.Numeric; @@ -62,31 +63,62 @@ protected XMLNamespaces namespaces; /** The FO type. */ public final int type; -/** The attributes defined on this node. */ + +/** The attributes defined on this node. When the FO subtree of this + * node has been constructed, it will be deleted. */ public FOAttributes foAttributes; -/** The unmodifiable map of properties defined on this node. */ +/** The map of properties specified on this node. N.B. This + * ttHashMap/tt starts life in FOAttributes. It is modifiable, and + * will be modified when is contains shorthands or compounds. + * When the FO subtree of this node has been constructed, and the + * ipropertySet/i is complete, it will be deleted. */ public HashMap foProperties = null; /** The sorted keys of ifoProperties/i. */ protected Integer[] foKeys = null; /** The size of ifoKeys/i. */ private int numAttrs = 0; -/** The property expression parser in the FOTree. */ -protected PropertyParser exprParser; -/** The property set for this node. */ -protected PropertyValue[] propertySet; -/** BitSet of properties for which have been specified on this node. */ +/** BitSet of properties which have been specified on this node. */ private BitSet specifiedProps = new BitSet(PropNames.LAST_PROPERTY_INDEX + 1); + +/** The property set for this node. This reference has two lives. +During FO subtree building, it holds all values which may potentially +be defined on the node. It must, therefore, be able to accommodate +every property. When FO subtree construction is completed, the +isparsePropsSet/i array is constructed for use during Area +tree building, and ipropertySet/i is nullified. +While isparsePropsSet/i is null, +this variable will be a reference to the complete property set. */ +private PropertyValue[] propertySet; +/** The set of properties directly applicable to this node. Its size is +determined by the inumProps/i value passed in to the constructor. +*/ +private PropertyValue[] sparsePropsSet; +/** Map of ttInteger/tt indices of isparsePropsSet/i array. +It is indexed by the FO index of the FO associated with a given +position in the ipropertySet/i array. */ +private final HashMap sparsePropsMap; +/** An array of of the applicable property indices, in property index +order. */ +private final int[] sparseIndices; +/** The number of applicable properties. Size of isparsePropsSet/i. */ +private final int numProps; + +/** The property expression parser in the FOTree. */ +protected PropertyParser exprParser; + /** The iattrSet/i argument. */ public final int attrSet; /** The ttROBitSet/tt of the iattrSet/i argument. */ protected ROBitSet attrBitSet; + /** The ttROBitSet/tt of inherited properties for the iattrSet/i argument. */ //protected ROBitSet inheritedBitSet; /** The ttROBitSet/tt of non-inherited properties for the iattrSet/i argument. */ //protected ROBitSet nonInheritedBitSet; + /** Ancestor reference area of this FONode. */ protected FONode ancestorRefArea = null; @@ -101,7 +133,8 @@ * node */ public FONode -(FOTree foTree, int type, FONode parent, FoXMLEvent event, int attrSet) +(FOTree foTree, int type, FONode parent, FoXMLEvent event, int attrSet, +HashMap sparsePropsMap, int[] sparseIndices, int numProps)
cvs commit: xml-fop/src/org/apache/fop/fo FObjectNames.java
pbwest 2002/10/30 06:43:08 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FObjectNames.java Log: Added foToIndex and getFOIndex(). Revision ChangesPath No revision No revision 1.1.2.6 +43 -3 xml-fop/src/org/apache/fop/fo/Attic/FObjectNames.java Index: FObjectNames.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FObjectNames.java,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -r1.1.2.5 -r1.1.2.6 --- FObjectNames.java 19 Oct 2002 03:49:04 - 1.1.2.5 +++ FObjectNames.java 30 Oct 2002 14:43:08 - 1.1.2.6 @@ -11,6 +11,9 @@ package org.apache.fop.fo; import org.apache.fop.apps.FOPException; +import org.apache.fop.datatypes.Ints; + +import java.util.HashMap; /** * Data class containing the Flow Object names and associated integer @@ -86,6 +89,10 @@ LAST_FO = WRAPPER; +/** Index of FO names in foLocalNames array. */ +private static final int NAMEX = 0; +/** Index of FO package string in foLocalNames array. */ +private static final int PACKAGEX = 1; /** * Array containing the local names of all of the elements in the * iFO/i namespace and the package name suffix of the Object @@ -157,6 +164,39 @@ }; /** + * A HashMap whose elements are an integer index value keyed by an + * fo local name. The index value is the index of the fo local name in + * the FObjectNames.foLocalNames[] array. + * It is initialized in a static initializer. + */ +private static final HashMap foToIndex = new HashMap(LAST_FO + 1); +static { +for (int i = 0; i = LAST_FO; i++) +// Set up the foToIndex Hashmap with the name of the +// flow object as a key, and the integer index as a value +if (foToIndex.put(foLocalNames[i][NAMEX], Ints.consts.get(i)) != null) +throw new RuntimeException( +Duplicate values in propertyToIndex for key + +foLocalNames[i][NAMEX]); +} + +/** + * Get the FObject index corresponding to the FObject name. + * @param foName - the FO name. + * @return the ttint/tt index. + * @throws ttFOPException/tt. + */ +public static int getFOIndex(String foName) +throws FOPException +{ +Integer index = (Integer)(foToIndex.get(foName)); +if (index == null) throw new FOPException +(Unknown FObject name: + foName); +return index.intValue(); +} + +/** + * Get the FObject name corresponding to the FO index. * @param foType ttint/tt index of the FO type. * @return ttString/tt name of the FO. * @exception FOPException if the FO index is invalid. @@ -167,7 +207,7 @@ if (foType 0 || foType LAST_FO) throw new FOPException (getFOName: type is invalid: + foType); -return foLocalNames[foType][0]; +return foLocalNames[foType][NAMEX]; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo FOPropertySets.java
pbwest 2002/10/30 06:45:01 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOPropertySets.java Log: Removed unused elements. FO property sets migrating to individual FO object classes. Revision ChangesPath No revision No revision 1.1.2.5 +3 -1064 xml-fop/src/org/apache/fop/fo/Attic/FOPropertySets.java Index: FOPropertySets.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FOPropertySets.java,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -u -r1.1.2.4 -r1.1.2.5 --- FOPropertySets.java 19 Oct 2002 03:49:04 - 1.1.2.4 +++ FOPropertySets.java 30 Oct 2002 14:45:00 - 1.1.2.5 @@ -105,56 +105,6 @@ throw new FOPException(Invalid attribute set: + attrSet); } -/* -public static ROBitSet getInheritedROBitSet(int attrSet) -throws FOPException -{ -switch (attrSet) { -case ROOT_SET: -return allInheritedProps; -case DECLARATIONS_SET: -return declarationsInherited; -case LAYOUT_SET: -return inheritedLayoutSet; -case SEQ_MASTER_SET: -return inheritedSeqMasterSet; -case PAGESEQ_SET: -return inheritedPageSeqSet; -case FLOW_SET: -return inheritedFlowSet; -case STATIC_SET: -return inheritedStaticSet; -case MARKER_SET: -return inheritedMarkerSet; -} -throw new FOPException(Invalid attribute set: + attrSet); -} - -public static ROBitSet getNonInheritedROBitSet(int attrSet) -throws FOPException -{ -switch (attrSet) { -case ROOT_SET: -return allNonInheritedProps; -case DECLARATIONS_SET: -return declarationsNonInherited; -case LAYOUT_SET: -return nonInheritedLayoutSet; -case SEQ_MASTER_SET: -return nonInheritedSeqMasterSet; -case PAGESEQ_SET: -return nonInheritedPageSeqSet; -case FLOW_SET: -return nonInheritedFlowSet; -case STATIC_SET: -return nonInheritedStaticSet; -case MARKER_SET: -return nonInheritedMarkerSet; -} -throw new FOPException(Invalid attribute set: + attrSet); -} -*/ - public static int getFoIndex(String name) { return ((Integer)(foToIndex.get(name))).intValue(); } @@ -220,879 +170,6 @@ * static initializer. */ private static final HashMap foClassToIndex; - -/** - * A array of ttHashSet/tts indexed by the integer iFO/i - * element constants. - * Each ttHashSet/tt contains the set of iproperties/i that apply - * to the corresponding formatting object.. This array, and each - * ttHashSet/tt within it, is intialized in a static initializer. - */ -private static final ROBitSet[] foPropertyLists; - -/** - * A Bitmap representing all of the Properties for use in building - * the partition sets of the properties. - */ - -static { -foPropertyLists = new ROBitSet[FObjectNames.LAST_FO + 1]; - -BitSet no_fo = new BitSet(); -no_fo.set(PropNames.NO_PROPERTY); -foPropertyLists[FObjectNames.NO_FO] = new ROBitSet(no_fo); - -//basic-link -BitSet basic_link = new BitSet(); -basic_link.or(PropertySets.accessibilitySet); -basic_link.or(PropertySets.auralSet); -basic_link.or(PropertySets.backgroundSet); -basic_link.or(PropertySets.borderSet); -basic_link.or(PropertySets.paddingSet); -basic_link.or(PropertySets.marginInlineSet); -basic_link.or(PropertySets.relativePositionSet); -basic_link.set(PropNames.ALIGNMENT_ADJUST); -basic_link.set(PropNames.ALIGNMENT_BASELINE); -basic_link.set(PropNames.BASELINE_SHIFT); -basic_link.set(PropNames.DESTINATION_PLACEMENT_OFFSET); -basic_link.set(PropNames.DOMINANT_BASELINE); -basic_link.set(PropNames.EXTERNAL_DESTINATION); -basic_link.set(PropNames.ID); -basic_link.set(PropNames.INDICATE_DESTINATION); -basic_link.set(PropNames.INTERNAL_DESTINATION); -basic_link.set(PropNames.KEEP_TOGETHER); -basic_link.set(PropNames.KEEP_WITH_NEXT); -basic_link.set(PropNames.KEEP_WITH_PREVIOUS); -basic_link.set(PropNames.LINE_HEIGHT); -basic_link.set(PropNames.SHOW_DESTINATION); -basic_link.set(PropNames.TARGET_PROCESSING_CONTEXT); -basic_link.set(PropNames.TARGET_PRESENTATION_CONTEXT); -
cvs commit: xml-fop/src/org/apache/fop/fo FOAttributes.java
pbwest 2002/10/30 06:45:38 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOAttributes.java Log: Comment typos. Revision ChangesPath No revision No revision 1.1.2.11 +5 -5 xml-fop/src/org/apache/fop/fo/Attic/FOAttributes.java Index: FOAttributes.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FOAttributes.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -r1.1.2.10 -r1.1.2.11 --- FOAttributes.java 21 Oct 2002 15:41:26 - 1.1.2.10 +++ FOAttributes.java 30 Oct 2002 14:45:38 - 1.1.2.11 @@ -66,7 +66,7 @@ private HashMap foAttrMap = new HashMap(0); /** - * An sorted array of the keys (property indices) of the values in + * A sorted array of the keys (property indices) of the values in * ifoAttrMap/i. */ private Integer[] foAttrKeys = null; @@ -85,7 +85,7 @@ * pThe ttAttributes/tt object on the event is scanned, and each * attribute is examined. If the attribute is in the default namespace * for fo: attributes, it is an fo: property, and its value is entered - * into the ifoAttrMap/i ttHashmap/tt indexed by the property + * into the ifoAttrMap/i ttHashmap/tt indexed by the property * index. * pIf the attribute does not belong to the default namespace, its * value is entered into the appropriate ttHashMap/tt in the - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Fwd: Regarding your comment about inline building on xsl-editors]
Keiron, Thanks, and thanks for the references. I haven't had time to look at this in detail yet, but I will as soon as possible. Do you feel as queasy about this as I do? Peter Keiron Liddle wrote: Hi Peter and others, The answer appears to be a clarification of the the spec authors had in the minds when writing it. The answer is what I was originally thinking it meant, that is that a block area under an inline is not wrapped by an inline area but rather the block area becomes a sibling of the lines areas created for the inline areas. so: block inlinesome text blocka block/block more text/inline /block is the same as: block inlinesome text /inline blocka block/block inline more text/inline /block The block may inherit some properties from the inline but it is not wrapped by the properties of the inline or wrapped by an inline area that has traits. Here are some references that I could find: http://marc.theaimsgroup.com/?l=fop-devm=97951301002986w=2 http://marc.theaimsgroup.com/?l=fop-devm=102011250524180w=2 -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ Lord, to whom shall we go? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/documentation sitemap.xmap
keiron 2002/10/30 07:40:27 Modified:src/documentation sitemap.xmap Log: latest sitemap + svg2pdf transcoder works Revision ChangesPath 1.3 +27 -14xml-fop/src/documentation/sitemap.xmap Index: sitemap.xmap === RCS file: /home/cvs/xml-fop/src/documentation/sitemap.xmap,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- sitemap.xmap 28 Oct 2002 13:35:18 - 1.2 +++ sitemap.xmap 30 Oct 2002 15:40:27 - 1.3 @@ -63,8 +63,10 @@ !-- == FOP Additions == -- - map:serializer name=svg2pdf mime-type=application/pdf src=org.apache.cocoon.serialization.SVGSerializer/ - + map:serializer name=svg2pdf mime-type=application/pdf src=org.apache.cocoon.serialization.SVGSerializer +parameter name=transcoder + value=org.apache.fop.svg.PDFTranscoder/ +/map:serializer !-- === End FOP Additions -- /map:serializers @@ -153,7 +155,7 @@ map:match pattern=*/svg/*.svg map:read src=content/xdocs/{1}/svg/{2}.svg mime-type=image/svg/ - /map:match + /map:match map:match pattern=*/svg/*.png map:generate src=content/xdocs/{1}/svg/{2}.svg/ map:serialize type=svg2png/ @@ -343,13 +345,24 @@ /map:call /map:match + !-- Generates body HTML for files in subdirs -- + map:match pattern=body-**/*.xml +map:generate src=content/xdocs/{1}/{2}.xml/ +map:call resource=skinit + map:parameter name=type value=document2html/ + map:parameter name=dir value={1}// + map:parameter name=resource value={2}/ +/map:call +/map:match + + !-- Generates body HTML for root-level files -- map:match pattern=body-**.xml - map:generate src=content/xdocs/{1}.xml/ - map:call resource=skinit - map:parameter name=type value=document2html/ - map:parameter name=resource value={1}/ - map:parameter name=dir value={1}/ - /map:call +map:generate src=content/xdocs/{1}.xml/ +map:call resource=skinit + map:parameter name=type value=document2html/ + map:parameter name=dir value=// + map:parameter name=resource value={1}/ +/map:call /map:match map:match pattern=*.html @@ -419,14 +432,15 @@ map:serialize type=fo2pdf/ /map:match - map:match pattern=*.pdf -map:generate src=content/xdocs/{1}.xml/ + map:match pattern=community/howto/**.pdf +map:generate src=content/xdocs/community/howto/{1}.xml/ +map:transform src=library/xslt/howto2document.xsl label=content/ map:transform src=skins/{defaults:skin}/xslt/fo/document2fo.xsl/ map:serialize type=fo2pdf/ /map:match - map:match pattern=**/*.pdf -map:generate src={1}/{2}.xml/ + map:match pattern=**.pdf +map:generate src=content/xdocs/{1}.xml/ map:transform src=skins/{defaults:skin}/xslt/fo/document2fo.xsl/ map:serialize type=fo2pdf/ /map:match @@ -515,7 +529,6 @@ map:match pattern=**/images/**.* map:read src=resources/images/{2}.{3} mime-type=image/{3}/ /map:match - map:match pattern=**favicon.ico map:call resource=skin-read - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/properties UsageContextOfSuppressAtLineBreak.java
pbwest 2002/10/30 17:53:40 Added: src/org/apache/fop/fo/properties Tag: FOP_0-20-0_Alt-Design UsageContextOfSuppressAtLineBreak.java Log: New property in Errata. Revision ChangesPath No revision No revision 1.1.2.1 +27 -0 xml-fop/src/org/apache/fop/fo/properties/Attic/UsageContextOfSuppressAtLineBreak.java - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo PropNames.java
pbwest 2002/10/30 17:56:47 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design PropNames.java Log: Added uage-context-of-suppress-at-line-break. Revision ChangesPath No revision No revision 1.1.2.9 +35 -33xml-fop/src/org/apache/fop/fo/Attic/PropNames.java Index: PropNames.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/PropNames.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -r1.1.2.8 -r1.1.2.9 --- PropNames.java19 Oct 2002 03:49:04 - 1.1.2.8 +++ PropNames.java31 Oct 2002 01:56:47 - 1.1.2.9 @@ -372,21 +372,22 @@ TOP = 302, TREAT_AS_WORD_SPACE = 303, UNICODE_BIDI = 304, - VISIBILITY = 305, - VOICE_FAMILY = 306, - VOLUME = 307, - WHITE_SPACE_COLLAPSE = 308, - WHITE_SPACE_TREATMENT = 309, - WIDOWS = 310, - WIDTH = 311, - WORD_SPACING = 312, - WORD_SPACING_MINIMUM = 313, - WORD_SPACING_OPTIMUM = 314, - WORD_SPACING_MAXIMUM = 315, -WORD_SPACING_CONDITIONALITY = 316, -WORD_SPACING_PRECEDENCE = 317, -WRAP_OPTION = 318, -Z_INDEX = 319, +USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK = 305, + VISIBILITY = 306, + VOICE_FAMILY = 307, + VOLUME = 308, + WHITE_SPACE_COLLAPSE = 309, + WHITE_SPACE_TREATMENT = 310, + WIDOWS = 311, + WIDTH = 312, + WORD_SPACING = 313, + WORD_SPACING_MINIMUM = 314, + WORD_SPACING_OPTIMUM = 315, + WORD_SPACING_MAXIMUM = 316, +WORD_SPACING_CONDITIONALITY = 317, +WORD_SPACING_PRECEDENCE = 318, +WRAP_OPTION = 319, +Z_INDEX = 320, LAST_PROPERTY_INDEX = Z_INDEX; @@ -720,21 +721,22 @@ ,top // 302 ,treat-as-word-space // 303 ,unicode-bidi // 304 -,visibility // 305 - ,voice-family // 306 -,volume // 307 - ,white-space-collapse // 308 - ,white-space-treatment // 309 -,widows // 310 - ,width // 311 - ,word-spacing // 312 - ,word-spacing-minimum // 313 - ,word-spacing-optimum // 314 - ,word-spacing-maximum // 315 - ,word-spacing-conditionality // 316 - ,word-spacing-precedence // 317 - ,wrap-option // 318 - ,z-index // 319 + ,usage-context-of-suppress-at-line-break // 305 +,visibility // 306 + ,voice-family // 307 +,volume // 308 + ,white-space-collapse // 309 + ,white-space-treatment // 310 +,widows // 311 + ,width // 312 + ,word-spacing // 313 + ,word-spacing-minimum // 314 + ,word-spacing-optimum // 315 + ,word-spacing-maximum // 316 + ,word-spacing-conditionality // 317 + ,word-spacing-precedence // 318 + ,wrap-option // 319 + ,z-index //
cvs commit: xml-fop/src/org/apache/fop/fo FOPropSets.java
pbwest 2002/10/30 18:24:02 Added: src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOPropSets.java Log: Dummy class as holding area for FO property set definitions until the individual FO classes are created. Revision ChangesPath No revision No revision 1.1.2.1 +819 -0xml-fop/src/org/apache/fop/fo/Attic/FOPropSets.java - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo FOPropSets.java
pbwest 2002/10/30 18:50:13 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOPropSets.java Log: Added USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK. Revision ChangesPath No revision No revision 1.1.2.2 +7 -3 xml-fop/src/org/apache/fop/fo/Attic/FOPropSets.java Index: FOPropSets.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FOPropSets.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- FOPropSets.java 31 Oct 2002 02:24:02 - 1.1.2.1 +++ FOPropSets.java 31 Oct 2002 02:50:13 - 1.1.2.2 @@ -137,6 +137,7 @@ block.set(PropNames.TEXT_ALIGN_LAST); block.set(PropNames.TEXT_INDENT); block.set(PropNames.VISIBILITY); +block.set(PropNames.USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK); block.set(PropNames.WHITE_SPACE_COLLAPSE); block.set(PropNames.WIDOWS); block.set(PropNames.WRAP_OPTION); @@ -314,6 +315,7 @@ inline.set(PropNames.KEEP_WITH_PREVIOUS); inline.set(PropNames.LINE_HEIGHT); inline.set(PropNames.TEXT_DECORATION); +inline.set(PropNames.USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK); inline.set(PropNames.VISIBILITY); inline.set(PropNames.WIDTH); inline.set(PropNames.WRAP_OPTION); @@ -532,6 +534,7 @@ page_number.set(PropNames.TEXT_DEPTH); page_number.set(PropNames.TEXT_SHADOW); page_number.set(PropNames.TEXT_TRANSFORM); +page_number.set(PropNames.USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK); page_number.set(PropNames.VISIBILITY); page_number.set(PropNames.WORD_SPACING); page_number.set(PropNames.WRAP_OPTION); @@ -563,6 +566,7 @@ page_number_citation.set(PropNames.TEXT_DEPTH); page_number_citation.set(PropNames.TEXT_SHADOW); page_number_citation.set(PropNames.TEXT_TRANSFORM); +page_number_citation.set(PropNames.USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK); page_number_citation.set(PropNames.VISIBILITY); page_number_citation.set(PropNames.WORD_SPACING); page_number_citation.set(PropNames.WRAP_OPTION); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]