cvs commit: xml-fop/src/org/apache/fop/layoutmgr AbstractBPLayoutManager.java AbstractLayoutManager.java BlockStackingLayoutManager.java LayoutManager.java PageLayoutManager.java SplitContext.java
keiron 2002/08/19 01:01:57 Modified:src/org/apache/fop/layoutmgr AbstractBPLayoutManager.java AbstractLayoutManager.java BlockStackingLayoutManager.java LayoutManager.java PageLayoutManager.java Removed: src/org/apache/fop/layoutmgr SplitContext.java Log: removed split context set ipd for static content Revision ChangesPath 1.7 +4 -2 xml-fop/src/org/apache/fop/layoutmgr/AbstractBPLayoutManager.java Index: AbstractBPLayoutManager.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/layoutmgr/AbstractBPLayoutManager.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- AbstractBPLayoutManager.java 9 Aug 2002 07:11:15 - 1.6 +++ AbstractBPLayoutManager.java 19 Aug 2002 08:01:56 - 1.7 @@ -100,7 +100,9 @@ } m_childLMiter.next(); // Otherwise next returns same object } -m_curChildLM.resetPosition(pos); +if(m_curChildLM != null) { +m_curChildLM.resetPosition(pos); +} if (isFinished()) { setFinished(false); } 1.9 +1 -6 xml-fop/src/org/apache/fop/layoutmgr/AbstractLayoutManager.java Index: AbstractLayoutManager.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/layoutmgr/AbstractLayoutManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AbstractLayoutManager.java9 Aug 2002 07:11:15 - 1.8 +++ AbstractLayoutManager.java19 Aug 2002 08:01:56 - 1.9 @@ -91,10 +91,5 @@ */ abstract public boolean addChild(Area childArea); -/** Do nothing */ -public boolean splitArea(Area areaToSplit, SplitContext context) { -context.nextArea = areaToSplit; -return false; -} } 1.8 +1 -68 xml-fop/src/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java Index: BlockStackingLayoutManager.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- BlockStackingLayoutManager.java 9 Aug 2002 07:11:15 - 1.7 +++ BlockStackingLayoutManager.java 19 Aug 2002 08:01:56 - 1.8 @@ -30,72 +30,6 @@ super(fobj); } -public boolean splitArea(Area area, SplitContext splitContext) { -// Divide area so that it will be within targetLength if possible -// If not, it can be shorter, but not longer. -/* Iterate over contents of the area. * - -// Need to figure out if we can do this generically -// Logically a BlockStacking LM only handles Block-type areas -if (!(area instanceof BlockParent)) { -return false; -} -Iterator areaIter = ((BlockParent) area).getChildAreas().iterator(); - - -BreakCost minBreakCost = null; -MinOptMax remainBPD = splitContext.targetBPD; -splitContext.nextArea = area; - -while (areaIter.hasNext()) { -Area childArea = (Area) areaIter.next(); -if (remainBPD.max childArea.getAllocationBPD().min) { -// Past the end point: try to break it -// TODO: get a LayoutManager to do the split of the child -// area, either Area = LM or Area = gen FO = LM -LayoutManager childLM = - childArea.getGeneratingFObj(). getLayoutManager(); -splitContext.targetBPD = remainBPD; -if (childLM.splitArea(childArea, splitContext) == false) { -// Can't split, so must split this area before childArea -// Can we pass the iter? -// If already saw several a potential break, use it -if (minBreakCost != null) { -/* Split 'area', placing all children after - * minBreakCost.getArea() into a new area, - * which we store in the splitContext. - * -// splitContext.nextArea = area.splitAfter(minBreakCost.getArea()); -} else { -/* This area will be shorter than the desired minimum. - * Split before the current childArea (which will be - * the first area in the newly created Area. - * -//splitContext.nextArea = area.splitBefore(childArea); -} -} else -return true; // childLM has done
cvs commit: xml-fop/src/org/apache/fop/svg SVGElement.java
keiron 2002/08/19 02:40:56 Modified:src/org/apache/fop/svg SVGElement.java Log: properly sets the dpi val Revision ChangesPath 1.30 +4 -10 xml-fop/src/org/apache/fop/svg/SVGElement.java Index: SVGElement.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGElement.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- SVGElement.java 7 Aug 2002 16:54:58 - 1.29 +++ SVGElement.java 19 Aug 2002 09:40:56 - 1.30 @@ -164,8 +164,9 @@ float pixeltoMM; public PDFUnitContext(int size, Element e, float ptmm) { -this.e = e; +this.e = e; this.fontSize = size; +this.pixeltoMM = ptmm; } /** @@ -176,7 +177,7 @@ } /** - * Returns the context of the parent element of this context. + * Returns the context of the parent element of this context. * Since this is always for the root SVG element there never * should be one... */ @@ -192,13 +193,6 @@ } public float getPixelUnitToMillimeter() { return pixeltoMM; -} - -/** - * Returns the font-size medium value in pt. - */ -public float getMediumFontSize() { -return 9f; } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tasks - layout
On Sun, 2002-08-18 at 02:07, J.Pietschmann wrote: Keiron Liddle wrote: I don't think we should expect or even want people to understand everything. I think it's preferable that people hacking around in the code understand *something*. Of course, but how can we make it understandable. I took a stab at the static content layout and even get Great! some text but AcrobatReader complains about Font not set if there is static content. Also, the static content is always rendered into the upper left cornder, regardless which region it should be in. Meanwhile I'm completely out of ideas where to look, especially for the font issue. Since each region is in its own graphics state the font needs to be set at a higher state of for the text in each region. The problem was that the last font state was kept from the last region. The regions seem to be put in the right place for me, maybe the viewer got an error so stopped doing things properly. Actually, how is unlimited expressed in MinOptMax terms? Stuffing in a large number doesn't strike me as very clean. I settled for the page BPD, under the assuption that the page viewport would not exceed this. I'm not sure. I could imagine that it might adjust to the size of the region. So if larger it uses min value etc. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/examples/advanced K3.TTF K3.xml bar.conf.xml barcode.fo
keiron 2002/08/19 03:40:57 Added: docs/examples/advanced K3.TTF K3.xml bar.conf.xml barcode.fo Log: added example for embedding fonts using free barcode font for embedding Revision ChangesPath 1.1 xml-fop/docs/examples/advanced/K3.TTF Binary file 1.1 xml-fop/docs/examples/advanced/K3.xml Index: K3.xml === ?xml version=1.0 encoding=UTF-8? !-- Note: this file created using TTFReader -- font-metrics type=TYPE0font-nameNew/font-nameembed/cap-height0/cap-heightx-height0/x-heightascender390/ascenderdescender0/descenderbboxleft0/leftbottom0/bottomright219/righttop390/top/bboxflags33/flagsstemv0/stemvitalicangle0/italicanglesubtypeTYPE0/subtypemultibyte-extrascid-typeCIDFontType2/cid-typedefault-width0/default-widthbfrangesbf gi=47 ue=32 us=32/bf gi=45 ue=36 us=36/bf gi=43 ue=37 us=37/bf gi=40 ue=42 us=42/bf gi=42 ue=43 us=43/bf gi=0 ue=44 us=44/bf gi=41 ue=45 us=45/bf gi=46 ue=46 us=46/bf gi=44 ue=47 us=47/bf gi=5 ue=50 us=48/bf gi=9 ue=56 us=51/bf gi=8 ue=57 us=57/bf gi=15 ue=83 us=65/bf gi=4 ue=84 us=84/bf gi=34 ue=90 us=85/bf gi=0 ue=65535 us=65535//bfrangescid-widths start-index=0wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156/wx w=156//cid-widths/multibyte-extras/font-metrics 1.1 xml-fop/docs/examples/advanced/bar.conf.xml Index: bar.conf.xml === ?xml version=1.0 encoding=ISO-8859-1? !-- TODO: use proper config -- configuration fonts font metrics-file=K3.xml kerning=yes embed-file=K3.TTF font-triplet name=Barcode style=normal weight=normal/ /font /fonts /configuration 1.1 xml-fop/docs/examples/advanced/barcode.fo Index: barcode.fo === ?xml version=1.0 encoding=ISO-8859-1? fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master page-width=21cm page-height=29.7cm master-name=first margin-top=5mm fo:region-body margin-bottom=4.5in margin-right=5mm margin-left=5mm margin-top=5mm/ fo:region-after extent=4in border-top-color=silver border-top-style=dotted border-top-width=0.13mm/ /fo:simple-page-master fo:simple-page-master page-width=21cm page-height=29.7cm master-name=rest margin-right=5mm margin-left=5mm margin-top=5mm margin-bottom=5mm fo:region-body/ /fo:simple-page-master fo:page-sequence-master master-name=A4 fo:repeatable-page-master-alternatives fo:conditional-page-master-reference master-reference=first page-position=first/ fo:conditional-page-master-reference master-reference=rest page-position=rest/ fo:conditional-page-master-reference master-reference=rest/ /fo:repeatable-page-master-alternatives /fo:page-sequence-master /fo:layout-master-set fo:page-sequence master-reference=A4 fo:flow flow-name=xsl-region-body fo:block font-size=14pt font-weight=bold Example embedding Font /fo:block fo:block font-size=14pt font-weight=bold This example shows how to use an embedded font and uses a free barcode font as an example. The barcode font is from fo:basic-link external-destination=http://www.geocities.com/keith_dimmock/;http://www.geocities.com/keith_dimmock//fo:basic-link and is free. /fo:block fo:block font-family=Barcode font-size=74pt line-height=76pt space-before.optimum=6mm *ID123456* /fo:block fo:block font-family=Barcode font-size=74pt line-height=76pt space-before.optimum=6mm normal text /fo:block fo:block font-family=Barcode, Helvetica font-size=74pt line-height=76pt space-before.optimum=6mm *ID123456* normal text /fo:block /fo:flow /fo:page-sequence /fo:root - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/render/pdf PDFRenderer.java
keiron 2002/08/19 04:54:53 Modified:src/org/apache/fop/image AbstractFopImage.java EPSImage.java JpegImage.java XMLImage.java src/org/apache/fop/render/pdf PDFRenderer.java Log: load original data properly Revision ChangesPath 1.12 +11 -1 xml-fop/src/org/apache/fop/image/AbstractFopImage.java Index: AbstractFopImage.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/AbstractFopImage.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- AbstractFopImage.java 2 Aug 2002 08:47:02 - 1.11 +++ AbstractFopImage.java 19 Aug 2002 11:54:52 - 1.12 @@ -126,6 +126,12 @@ loaded = loaded | BITMAP; } } +if(((type ORIGINAL_DATA) != 0) ((loaded ORIGINAL_DATA) == 0)) { +success = success loadOriginalData(ua); +if(success) { +loaded = loaded | ORIGINAL_DATA; +} +} return success; } @@ -134,6 +140,10 @@ } protected boolean loadBitmap(FOUserAgent ua) { +return false; +} + +protected boolean loadOriginalData(FOUserAgent ua) { return false; } 1.7 +2 -1 xml-fop/src/org/apache/fop/image/EPSImage.java Index: EPSImage.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/EPSImage.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- EPSImage.java 27 Jun 2002 11:45:54 - 1.6 +++ EPSImage.java 19 Aug 2002 11:54:53 - 1.7 @@ -71,6 +71,7 @@ bbox[2] = (int) epsData.bbox[2]; bbox[3] = (int) epsData.bbox[3]; +loaded = loaded | ORIGINAL_DATA; } } 1.6 +2 -2 xml-fop/src/org/apache/fop/image/JpegImage.java Index: JpegImage.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/JpegImage.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JpegImage.java27 Jun 2002 11:45:54 - 1.5 +++ JpegImage.java19 Aug 2002 11:54:53 - 1.6 @@ -39,7 +39,7 @@ super(href, imgReader); } -protected boolean loadBitmap(FOUserAgent ua) { +protected boolean loadOriginalData(FOUserAgent ua) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream iccStream = new ByteArrayOutputStream(); InputStream inStream; 1.2 +2 -1 xml-fop/src/org/apache/fop/image/XMLImage.java Index: XMLImage.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/XMLImage.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLImage.java 8 Mar 2002 11:00:19 - 1.1 +++ XMLImage.java 19 Aug 2002 11:54:53 - 1.2 @@ -29,6 +29,7 @@ super(href, imgInfo); if(imgInfo.data instanceof Document) { doc = (Document)imgInfo.data; +loaded = loaded | ORIGINAL_DATA; } ns = imgInfo.str; } 1.115 +2 -2 xml-fop/src/org/apache/fop/render/pdf/PDFRenderer.java Index: PDFRenderer.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/pdf/PDFRenderer.java,v retrieving revision 1.114 retrieving revision 1.115 diff -u -r1.114 -r1.115 --- PDFRenderer.java 19 Aug 2002 09:57:47 - 1.114 +++ PDFRenderer.java 19 Aug 2002 11:54:53 - 1.115 @@ -516,7 +516,7 @@ FopPDFImage pdfimage = new FopPDFImage(fopimage, url); int xobj = pdfDoc.addImage(null, pdfimage).getXNumber(); fact.releaseImage(url, userAgent); -} else if (image/jpg.equals(mime)) { +} else if (image/jpeg.equals(mime)) { if (!fopimage.load(FopImage.ORIGINAL_DATA, userAgent)) { return; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 11783] - fo:block background-color=xtext/fo:block generates svg:rect with negative height
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11783. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11783 fo:block background-color=xtext/fo:block generates svg:rect with negative height --- Additional Comments From [EMAIL PROTECTED] 2002-08-19 11:55 --- This problem appears even if the background-color attribute is not specified - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/test/resources/fop/image logo.tif
keiron 2002/08/19 06:45:01 Modified:test/resources/fop/image logo.tif Log: changed to a format jimi can handle, no alpha and packed Revision ChangesPath 1.2 +1 -25 xml-fop/test/resources/fop/image/logo.tif Binary file - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo FOAttributes.java
pbwest 2002/08/19 08:59:23 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOAttributes.java Log: Changed names of maps from \*List\* to \*Map\*. Revision ChangesPath No revision No revision 1.1.2.3 +71 -46xml-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.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- FOAttributes.java 27 Jun 2002 12:55:18 - 1.1.2.2 +++ FOAttributes.java 19 Aug 2002 15:59:22 - 1.1.2.3 @@ -39,7 +39,7 @@ private static final String revision = $Revision$; /** - * inSpaceAttrLists/i is an ttArrayList/tt to hold the array of + * inSpaceAttrMaps/i is an ttArrayList/tt to hold the array of * ttHashMap/tts which contain the attribute lists for each * namespace which may be active for a particular FO element. The * ttArrayList/tt is indexed by the URIIndex for this namespace @@ -49,18 +49,18 @@ * The ttArrayList/tt will not be created for a particular instance * of ttFOAttributes/tt unless a namespace other than the standard * XSL namespace is activated for this instance. - * See ifoAttrList/i. + * See ifoAttrMap/i. */ -private ArrayList nSpaceAttrLists; +private ArrayList nSpaceAttrMaps; /** - * ifoAttrList/i is a ttHashMap/tt to hold the FO namespace + * ifoAttrMap/i is a ttHashMap/tt to hold the FO namespace * attribute list specified in the FO element with which this list is * associated. The ttString/tt attribute value is stored * indexed by the integer constant property identifier from * ttPropertyConsts/tt. */ -private HashMap foAttrList = new HashMap(0); +private HashMap foAttrMap = new HashMap(0); private int DefAttrNSIndex = XMLEvent.DefAttrNSIndex; @@ -71,11 +71,11 @@ * 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 ifoAttrList/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 - * ttArrayList/tt inSpaceAttrLists/i, indexed by the attribute's + * ttArrayList/tt inSpaceAttrMaps/i, indexed by the attribute's * local name. * p */ @@ -83,10 +83,10 @@ // If the event is null, there is no event associated with this // node, probably because this is a manufactured node; e.g., // an invented FopageSequenceMaster. The default initialisation -// includes an empty foAttrList HashMap. +// includes an empty foAttrMap HashMap. if (event == null) return; -// Create the foAttrList. +// Create the foAttrMap. Attributes attributes = event.attributes; if (attributes == null) throw new FOPException (No Attributes in XMLEvent); @@ -109,7 +109,7 @@ propIndex = PropertyConsts.getPropertyIndex(attrLocalname); // Known attribute name -foAttrList.put(Ints.consts.get(propIndex), attrValue); +foAttrMap.put(Ints.consts.get(propIndex), attrValue); } catch (PropertyException e) { // Not known - ignore MessageHandler.errorln(event.qName + @@ -118,27 +118,27 @@ } } else { // Not the XSL FO namespace int j; -if (nSpaceAttrLists == null) { +if (nSpaceAttrMaps == null) { //Create the list -System.out.println(Creating nSpaceAttrLists); -nSpaceAttrLists = new ArrayList(attrUriIndex + 1); +System.out.println(Creating nSpaceAttrMaps); +nSpaceAttrMaps = new ArrayList(attrUriIndex + 1); // Add the fo list for (j = 0; j DefAttrNSIndex; j++) -nSpaceAttrLists.add(new HashMap(0)); +nSpaceAttrMaps.add(new HashMap(0)); -System.out.println(Adding foAttrList); -nSpaceAttrLists.add(foAttrList); +
cvs commit: xml-fop/src/org/apache/fop/fo FOTree.java
pbwest 2002/08/19 09:08:22 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FOTree.java Log: Added getCurrentInherited() to return computed or specified values from TOStack Revision ChangesPath No revision No revision 1.1.2.6 +19 -2 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.5 retrieving revision 1.1.2.6 diff -u -r1.1.2.5 -r1.1.2.6 --- FOTree.java 4 Jul 2002 02:18:33 - 1.1.2.5 +++ FOTree.java 19 Aug 2002 16:08:22 - 1.1.2.6 @@ -64,6 +64,11 @@ protected PropertyParser exprParser; /** + * Args array for refineParsingMethods[].invoke() calls + */ +Object[] args = new Object[2]; + +/** * An Array of LinkedList[]. Each LinkedList is a stack containing the * most recently specified value of a particular property. The first * element of each stack will contain the initial value. @@ -291,6 +296,18 @@ throws PropertyException { return getCurrentPropertyTriplet(index).getComputed(); +} + +/** + * @param index: ttint/tt property index. + * @return a ttPropertyValue/tt containing the inherited + * property value for the indexed property; i.e. computed if available, + * else specified. + */ +public PropertyValue getCurrentInherited(int index) +throws PropertyException +{ +return getCurrentPropertyTriplet(index).getComputedOrSpecified(); } public void setParserThread(Thread parserThread) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo FObjects.java
pbwest 2002/08/19 09:16:51 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design FObjects.java Log: Coverted subtree property sets from BitSets to ROBitSets Revision ChangesPath No revision No revision 1.1.2.3 +73 -60xml-fop/src/org/apache/fop/fo/Attic/FObjects.java Index: FObjects.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/FObjects.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- FObjects.java 27 Jun 2002 12:55:18 - 1.1.2.2 +++ FObjects.java 19 Aug 2002 16:16:50 - 1.1.2.3 @@ -25,6 +25,7 @@ import org.apache.fop.fo.PropNames; import org.apache.fop.datatypes.Ints; import org.apache.fop.datastructs.ROIntArray; +import org.apache.fop.datastructs.ROBitSet; /** * Data class relating sets of properties to Flow Objects. @@ -618,7 +619,7 @@ foPropertyLists[FObjectNames.INLINE]. add(Ints.consts.get(PropNames.BASELINE_SHIFT)); foPropertyLists[FObjectNames.INLINE]. -add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INLINE]. add(Ints.consts.get(PropNames.COLOR)); foPropertyLists[FObjectNames.INLINE]. @@ -628,7 +629,7 @@ foPropertyLists[FObjectNames.INLINE]. add(Ints.consts.get(PropNames.ID)); foPropertyLists[FObjectNames.INLINE]. -add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INLINE]. add(Ints.consts.get(PropNames.KEEP_TOGETHER)); foPropertyLists[FObjectNames.INLINE]. @@ -671,7 +672,7 @@ foPropertyLists[FObjectNames.INLINE_CONTAINER]. add(Ints.consts.get(PropNames.BASELINE_SHIFT)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. -add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. add(Ints.consts.get(PropNames.CLIP)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. @@ -683,7 +684,7 @@ foPropertyLists[FObjectNames.INLINE_CONTAINER]. add(Ints.consts.get(PropNames.ID)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. -add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. add(Ints.consts.get(PropNames.KEEP_TOGETHER)); foPropertyLists[FObjectNames.INLINE_CONTAINER]. @@ -733,7 +734,7 @@ foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. add(Ints.consts.get(PropNames.BASELINE_SHIFT)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. -add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.BLOCK_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. add(Ints.consts.get(PropNames.CLIP)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. @@ -751,7 +752,7 @@ foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. add(Ints.consts.get(PropNames.ID)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. -add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); +add(Ints.consts.get(PropNames.INLINE_PROGRESSION_DIMENSION)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. add(Ints.consts.get(PropNames.KEEP_WITH_NEXT)); foPropertyLists[FObjectNames.INSTREAM_FOREIGN_OBJECT]. @@ -881,9 +882,9 @@ foPropertyLists[FObjectNames.LIST_BLOCK]. add(Ints.consts.get(PropNames.KEEP_WITH_PREVIOUS)); foPropertyLists[FObjectNames.LIST_BLOCK]. -add(Ints.consts.get(PropNames.PROVISIONAL_DISTANCE_BETWEEN_STARTS)); +add(Ints.consts.get(PropNames.PROVISIONAL_DISTANCE_BETWEEN_STARTS)); foPropertyLists[FObjectNames.LIST_BLOCK]. -add(Ints.consts.get(PropNames.PROVISIONAL_LABEL_SEPARATION)); +add(Ints.consts.get(PropNames.PROVISIONAL_LABEL_SEPARATION));
cvs commit: xml-fop/src/org/apache/fop/fo PropertyConsts.java
pbwest 2002/08/19 09:20:55 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design PropertyConsts.java Log: Renamed verifyParsing to refineParsing Revision ChangesPath No revision No revision 1.1.2.6 +14 -14xml-fop/src/org/apache/fop/fo/Attic/PropertyConsts.java Index: PropertyConsts.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/PropertyConsts.java,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -r1.1.2.5 -r1.1.2.6 --- PropertyConsts.java 9 Jul 2002 06:47:25 - 1.1.2.5 +++ PropertyConsts.java 19 Aug 2002 16:20:54 - 1.1.2.6 @@ -427,20 +427,20 @@ /** * An array of ttMethod/tt objects. This array holds, for each * property, the ttmethod/tt object corresponding to the - * emverifyParsing/em method of the property's class.br/ - * emverifyParsing/em methods defined in individual properties + * emrefineParsing/em method of the property's class.br/ + * emrefineParsing/em methods defined in individual properties * shadow the method in the emProperties/em class. */ -private static final Method[] verifyparsingmethods; +private static final Method[] refineparsingmethods; /** - * An unmodifiable List of the property iverifyParsing/i methods. - * This random access list is derived from iverifyparsingmethods/i, + * An unmodifiable List of the property irefineParsing/i methods. + * This random access list is derived from irefineparsingmethods/i, * above. * It can be indexed by the property name constants defined in * the PropNames class. */ -public static final List verifyParsingMethods; +public static final List refineParsingMethods; /** * A ttHashMap/tt of ttMethod/tt objects. It contains the @@ -469,7 +469,7 @@ traitMappings= new int[PropNames.LAST_PROPERTY_INDEX + 1]; datatypes= new int[PropNames.LAST_PROPERTY_INDEX + 1]; classes = new Class[PropNames.LAST_PROPERTY_INDEX + 1]; -verifyparsingmethods = new Method[PropNames.LAST_PROPERTY_INDEX + 1]; +refineparsingmethods = new Method[PropNames.LAST_PROPERTY_INDEX + 1]; mappednummethods = new HashMap(); for (int i = 0; i = PropNames.LAST_PROPERTY_INDEX; i++) { @@ -537,9 +537,9 @@ traitMappings[i] = classes[i].getField(traitMapping).getInt(null); datatypes[i] = classes[i].getField(dataTypes).getInt(null); -verifyparsingmethods[i] = +refineparsingmethods[i] = classes[i].getMethod -(verifyParsing, new Class[] +(refineParsing, new Class[] {org.apache.fop.fo.FOTree.class, PropertyValue.class}); if ((datatypes[i] Properties.MAPPED_NUMERIC) != 0) @@ -571,8 +571,8 @@ (Arrays.asList(classes)); inherited= new ROIntArray(inherit); dataTypes= new ROIntArray(datatypes); -verifyParsingMethods = Collections.unmodifiableList -(Arrays.asList(verifyparsingmethods)); +refineParsingMethods = Collections.unmodifiableList +(Arrays.asList(refineparsingmethods)); mappedNumMethods = Collections.unmodifiableMap(mappednummethods); } - 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/08/19 09:26:55 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design PropNames.java Log: Changed ordering of property names to reflect processing order Revision ChangesPath No revision No revision 1.1.2.3 +370 -334 xml-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.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- PropNames.java27 Jun 2002 12:55:18 - 1.1.2.2 +++ PropNames.java19 Aug 2002 16:26:55 - 1.1.2.3 @@ -22,6 +22,10 @@ private static final String revision = $Revision$; /* + * List of property constants in property processing order - + * FONT, FONT_SIZE first + * Shorthands must precede any of their expansion elements. + * Compounds must precede any of their components. * The list of property constants can be regenerated in XEmacs by setting * the region on the list of constants. (C-Space at the beginning, * move to last line, C-x C-x to exchange mark and point.) Then run @@ -38,223 +42,239 @@ public static final int NO_PROPERTY = 0, - ABSOLUTE_POSITION = 1, - ACTIVE_STATE = 2, - ALIGNMENT_ADJUST = 3, - ALIGNMENT_BASELINE = 4, - AUTO_RESTORE = 5, -AZIMUTH = 6, - BACKGROUND = 7, - BACKGROUND_ATTACHMENT = 8, - BACKGROUND_COLOR = 9, - BACKGROUND_IMAGE = 10, -BACKGROUND_POSITION = 11, - BACKGROUND_POSITION_HORIZONTAL = 12, - BACKGROUND_POSITION_VERTICAL = 13, - BACKGROUND_REPEAT = 14, - BASELINE_SHIFT = 15, - BLANK_OR_NOT_BLANK = 16, -BLOCK_PROGRESSION_DIMENSION = 17, -BLOCK_PROGRESSION_DIMENSION_MINIMUM = 18, -BLOCK_PROGRESSION_DIMENSION_OPTIMUM = 19, -BLOCK_PROGRESSION_DIMENSION_MAXIMUM = 20, - BORDER = 21, - BORDER_AFTER_COLOR = 22, -BORDER_AFTER_PRECEDENCE = 23, - BORDER_AFTER_STYLE = 24, - BORDER_AFTER_WIDTH = 25, - BORDER_AFTER_WIDTH_LENGTH = 26, - BORDER_AFTER_WIDTH_CONDITIONALITY = 27, -BORDER_BEFORE_COLOR = 28, - BORDER_BEFORE_PRECEDENCE = 29, -BORDER_BEFORE_STYLE = 30, -BORDER_BEFORE_WIDTH = 31, - BORDER_BEFORE_WIDTH_LENGTH = 32, - BORDER_BEFORE_WIDTH_CONDITIONALITY = 33, - BORDER_BOTTOM = 34, -BORDER_BOTTOM_COLOR = 35, -BORDER_BOTTOM_STYLE = 36, -BORDER_BOTTOM_WIDTH = 37, -BORDER_COLLAPSE = 38, - BORDER_COLOR = 39, - BORDER_END_COLOR = 40, - BORDER_END_PRECEDENCE = 41, - BORDER_END_STYLE = 42, - BORDER_END_WIDTH = 43, -BORDER_END_WIDTH_LENGTH = 44, -BORDER_END_WIDTH_CONDITIONALITY = 45, -BORDER_LEFT = 46, - BORDER_LEFT_COLOR = 47, - BORDER_LEFT_STYLE = 48, - BORDER_LEFT_WIDTH = 49, - BORDER_RIGHT = 50, - BORDER_RIGHT_COLOR = 51, - BORDER_RIGHT_STYLE = 52, - BORDER_RIGHT_WIDTH = 53, - BORDER_SEPARATION = 54, - BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION = 55, - BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION = 56, - BORDER_SPACING = 57, - BORDER_START_COLOR = 58, -BORDER_START_PRECEDENCE = 59, - BORDER_START_STYLE = 60, - BORDER_START_WIDTH = 61, - BORDER_START_WIDTH_LENGTH = 62, -
cvs commit: xml-fop/src/org/apache/fop/fo Properties.java
pbwest 2002/08/19 09:42:15 Modified:src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design Properties.java Log: Renamed verifyParsing to refineParsing. Removed COMPOUND and SHORTHAND_INH inhertance. Added inheritance() method. Revision ChangesPath No revision No revision 1.1.2.19 +269 -207 xml-fop/src/org/apache/fop/fo/Attic/Properties.java Index: Properties.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/Properties.java,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -r1.1.2.18 -r1.1.2.19 --- Properties.java 3 Aug 2002 13:26:59 - 1.1.2.18 +++ Properties.java 19 Aug 2002 16:42:14 - 1.1.2.19 @@ -127,13 +127,13 @@ ,COLOR_TRANS = 67108864 ,MIMETYPE = 134217728 ,FONTSET = 268435456 -// ,SPARE = 536870912 + ,COMPOUND = 536870912 // ,SPARE = 1073741824 // ,SPARE = -2147483648 // A number of questions are unresolved about the interaction of // complex parsing, property expression parsing property validation. -// At this time (2002/07/03) it looks as though the verifyParsing() method +// At this time (2002/07/03) it looks as though the refineParsing() method // will take full validation responsibility, so it will not be // necessary to specify any individual datatypes besides COMPLEX in the // property dataTypes field. This renders some such specifications @@ -269,18 +269,33 @@ NO = 0 ,COMPUTED = 1 ,SPECIFIED = 2 - ,COMPOUND = 3 - ,SHORTHAND_INH = 4 -,VALUE_SPECIFIC = 5 +,VALUE_SPECIFIC = 3 ; /** - * Constant for nested ttverifyParsing/tt methods + * Derive inherited value for the given property. + * This method must be shadowed by properties with special requirements. + * @param foTree the ttFOTree/tt being built + * @param property the ttint/tt property index + * @return ttPropertyValue/tt the inherited property value for the + * property. It contains the inherited icomputed/i value, and no + * ispecified/i value. + * @exception ttPropertyException/tt + */ +public static PropertyValue inheritance(FOTree foTree, int property) +throws PropertyException +{ +// Is it inherited? +return foTree.getCurrentInherited(property); +} + +/** + * Constant for nested ttrefineParsing/tt methods */ public static boolean IS_NESTED = true; /** - * Constant for non-nested ttverifyParsing/tt methods + * Constant for non-nested ttrefineParsing/tt methods */ public static boolean NOT_NESTED = false; @@ -289,7 +304,7 @@ * 1) PropertyTokenizerbr * 2) PropertyParser - returns context-free ttPropertyValue/tts *recognizable by the parserbr - * 3) verifyParsing - verifies results from parser, translates + * 3) refineParsing - verifies results from parser, translates *property types like NCName into more specific value types, *resolves enumeration types, etc.br * @@ -298,23 +313,23 @@ * @param foTree the ttFOTree/tt being built * @param value ttPropertyValue/tt returned by the parser */ -public static PropertyValue verifyParsing +public static PropertyValue refineParsing (FOTree foTree, PropertyValue value) throws PropertyException { -return verifyParsing(foTree, value, NOT_NESTED); +return refineParsing(foTree, value, NOT_NESTED); } /** - * Do the work for the two argument verifyParsing method. + * Do the work for the two argument refineParsing method. * @param foTree the ttFOTree/tt being built * @param value ttPropertyValue/tt returned by the parser * @param nested ttboolean/tt indicating whether this method is - * called normally (false), or as part of another iverifyParsing/i + * called normally (false), or as part of another irefineParsing/i * method. - * @see #verifyParsing(FOTree,PropertyValue) + * @see #refineParsing(FOTree,PropertyValue) */ -protected static PropertyValue verifyParsing +protected static PropertyValue refineParsing (FOTree foTree, PropertyValue value, boolean nested) throws PropertyException { @@ -371,7 +386,7 @@
cvs commit: xml-fop/src/org/apache/fop/datastructs ROBitSet.java
pbwest 2002/08/19 09:46:22 Added: src/org/apache/fop/datastructs Tag: FOP_0-20-0_Alt-Design ROBitSet.java Log: Read-only BitSet Revision ChangesPath No revision No revision 1.1.2.1 +154 -0xml-fop/src/org/apache/fop/datastructs/Attic/ROBitSet.java - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: xml-fop/src/org/apache/fop/render/pdf PDFRenderer.java
[EMAIL PROTECTED] wrote: protected void renderRegion(RegionReference region) { ... +currentFontName = ; Wouldn't it be better to do this each time after writing a BT to the PDF output? (In startVParea(), renderViewport() and renderLeader()). J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: URIs and URI resolvers for configuration files, fonts, and images
[EMAIL PROTECTED] wrote: ...resolve relative paths ... Is there a way of doing this already, or is there a proposed change for this scheduled for an upcoming release? No on both accounts. I think there will be something in the redesigned software. You can contribute it yourself if you like, look into FOPImageFactory (for resolving external-graphic source) and ConfigurationReader (for fonts). It should probably a two-step process, an interface specific for SVG which returns either a javax.xml.transform.Source or a parser+InputSource pair, and an interface returning an InputSource or a java.io.InputStream for other stuff (which will usually be binary). Using the SVG specific interface probably will have to be triggered by an appropriate content-type attribute, otherwise the other interface is used. An interesting discussion would be whether the user config file should be resolvable too (I think avalonizing FOP will make this reduindant anyway). J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Tasks - layout
Keiron Liddle wrote: - Add markers to page when areas added Is this really a good idea? Markers may be referenced long after they have been defined, tying them to the Page object would require keeping the pages in memory (see 0.20.5cvs: forward page references are *required* to force keeping pages in memory so that markers can be retrieved with document scope). I thought about adding a running number for the page sequence and for the page within it's page sequence as well as the necessary information to make retrieving markers within a page work properly to the marker itself and store them in an Array list, with the current page perhaps storing the array index of the first marker of this page to speed up some retrieval modes. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Tasks - layout
Keiron Liddle wrote: - Implement table layout The table layout will use the same technique as the block layout. It will locate suitable breaks between rows or inside rows until table finished or end of bpd reached. Actually, what *are* valid breaks within a table apart from breaks between two rows with no cell spanning both? Some interesting situations: +-++ |block|block 1 | | |block 2 | +-++ Break possibility after block 1 if BPD(block)BPD(block 1), i.e. +-++ |block|block 1 | +-++ --- +-++ | |block 2 | +-++ +-++ |block block block|block 1 | |block block block++ |block block |block 2 | +-++ Break possibility after row one, despite that the cell with block 1 would have to get some space after the block, i.e. +-++ |block block block|block 1 | |block block block|| |block block ++ --- | ++ | |block 2 | +-++ J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Line breaks around dashes
On Mon, 19 Aug 2002, J.Pietschmann wrote: Unfortunately, FOP does not implement TR14, it treats nearly all characters except Unicode spaces as not allowing a break. You can insert a zero width space before and after the mdash in order to get the desired behaviour (as also defined by TR14). That's a fine answer. Another caveat: FOP 0.20.4 has a bug in the white space width calculation, you'll have to get the 0.20.5cvs code from the repository directly or fall back to 0.20.3. Hm. I don't mind falling back to 0.20.3 in theory. I just tried running the version I checked out of cvs, and found a bunch of problems: * some stuff I'd asked to have centered is left-justified (perhaps all centering is broken; I didn't check) * some spacing between lines is way too big (padding? margins? I didn't check closer) * a graphic I include is rendered way too large * most relevantly, the zero-width spaces are rendered as hash signs I assume these are just problems which are going to be worked out before the next release, and that I should just fall back to 0.20.3; but if I did something wrong (like check out HEAD when I should have checked out a branch), please let me know. j --- Users complain that they receive too much spam, while spammers protest messages are legal. -InfoWorld You do not have to do everything disagreeable that you have a right to do. -Judith Martin (Miss Manners) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Style issues.
Hi all, I see this started a few days ago, but I just came back from a couple of weeks of vacation (and a couple of months of being totally buried in work), so before I go back to the office, I'll at least let you know I'm still around and even reading the list now and then :-) I also recognize some of my code J.Pietschmann wrote: Hello all, I just took a more extended look at CVS HEAD. There are some style issues which caught my eye. 1. I'd appreciate if indentation uses spaces instead of tabs. And because I can avoid using tabs, I expect everyone else avoiding tabs too. 2. I'd really, really appreciate if assignments were not made operands of other expressions, especially not operands of comparisions in if statements: if ((bp = getNextBreakPoss(childLC, null)) != null) { I'd make some exceptions for more commonly used idioms in while statements while ((curLM = getChildLM()) != null) { but IMO this still s*cks. Probably comes from long years of writing C and C++ and avoiding extra lines of code. Must be taste since I don't find it that bad, but if we all vote it out in the style rules, I'll agree to banish it! 3. Exceptions should never, ever replace simpler flow controls: try { return super.nextChar(); } catch (NoSuchElementException e) { if (bEndBoundary) { bEndBoundary=false; return CharUtilities.CODE_EOT; } else throw e; } Apart from the potential for confusion, throwing exceptions is an expensive operation and should really be reserved for rare and non-local exits. (In the particular case above, the discrepancy between hasNext() and getNext() seems to indicate a design bug that should be fixed rather than worked around). Agreed, it would be better to recheck super.hasNext() rather than letting it throw the exception. However, you'll note that the exception is only propagated from this method in the case where it's hasNext() returns false, which is the normal behavior for an Iterator. 4. Some identifiers make me a bit uneasy, like BreakPoss. IMO random abbreviations should be avoided unless the identifiers become really long and unwieldy, at least in class names and preferably also in method names. Furthermore, I think abbreviations should be used consistently at least across class and method names: public void setStructHandler(StructureHandler sh) { public BreakPoss getBP() { protected Position getPos(Object nextObj) { Is it really worth to save a few characters this way? Also, capitalization should be consistent: class LMiter interface BPLayoutManager Mea culpa. I quite agree with you that these names are not the best. All I can say is that I was writing code in bits and pieces over a fairly long period of time and wasn't paying enough attention to being consistent with my BP (BreakPossibility) and BreakPosition (just Position). I'm all for changing the names to something less confusing. 5. I don't think naming styles should be mixed without good (and preferably explained) reason: boolean m_bInited = false; Yuck! 6. There seems to be a drive to use hungarian notation. While I don't have a strong feelings for or against it, I'd like to note that in all projects I've watched such an efford was ultimately wasted. Usage universally degraded over time, and causal and inconsistent usage just makes the code look ugly. Like most everyone else that's responded, I say, let's just pick a rule that makes it clear what are member or static variables and which are local and stick to it. Personally I tend to prefer m_xxx to this.xxx, with or without hungarian. ... It would be nice to get some agreements nailed down and published. J.Pietschmann All for that. Regards, Karen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Tasks - layout
Hi Keiron etc, I'm really happy to see all this movement going on and folks from the maintenance branch getting into the redesign to help you out. I'm hoping to be able to start contributing again too, perhaps not right away, but hopefully in September. There may even be some possibility of getting to work on FOP as part of my real work, though it might be hard to work on the new layout in that context. I'll keep the group posted. I'll start by looking at the latest and then maybe cogitating on list or table layout, depending on the timing and what others are interested in doing. It looks like status.xml is the sign-up sheet for the tasks; is that right? With regard to the line-height calculations, is anybody in the group interested in getting into the gory details of the baseline stuff for different scripts? I spent some time poring over the spec and trying to get a handle on this, but maybe it's too much detail for now. On the other hand, I'd really like to make sure that this version of FOP handles that stuff correctly as well as being able to do the various kinds of line-stacking strategies defined by the XSL-FO spec. Regards, Karen Keiron Liddle wrote: Now that we have some pagination there are lots of areas that people can work on. If you want to implement any of these and have any questions then just ask. Once we can get a few of these done then we could do a developers release. - Add static areas to page The static areas will need to be handled in a similar way to the flow except the bpd is unlimited and it will need to reset and repeat for each page. - Add id areas to page when area added When the layout managers add an area to the page it can also add the id information. - Resolve id references on other pages, extensions When an id is added to a page this will allow id references to be resolved. - Add markers to page when areas added When an area is added that is created by an FO that contains markers then the markers can also be added. There are four types of positions for markers. - Retrieve markers from page When doing the static areas the markers wil need to be available for retrieving. The marker can then be layed out as normal. - calculate line height The line height needs to be calculated while finding breaks. This needs to include all the alignment and height details of the inline areas. - Various inline objects Page number, page number citation etc. need to be implemented. - Implement page caching If a page need to be stored for the store pages or waiting to resolve forward references then we need a cache mechanism to save the page somewhere. - Implement table layout The table layout will use the same technique as the block layout. It will locate suitable breaks between rows or inside rows until table finished or end of bpd reached. - Implement list layout The list layout like the table layout will be looking for suitable breaks from the child objects. The it will add the appropriate areas to the area tree. - Get bookmark extension working Make sure the extension id references are resolved. Once the data is fully resolved then implement a way for the pdf renderer to add the bookmarks. See branch for code how to add bookmarks. These are just some of the things, I will add them to the todo list. If there is a decent response then there are more that can be added. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Line breaks around dashes
Hi Jessica, That's a good question. As far as I've seen there's nothing official in the specification, so it's up to each implementation to handle this. I believe it falls in the category of things which could be defined by the user agent idea in FOP and then used by the line-breaking algorithm. In the redesign branch of FOP, the line-breaking code assumes it has a list of legal line-break characters; clearly this needs to depend on the script, which isn't yet the case. Regards, Karen Jessica Perry Hekman wrote: Is there any way to ask FOP to allow line breaks before and after particular characters -- in my case, mdashes? Apologies if this should actually be specified in the FO; I've been trying to find a place in the FO spec which says how to specify legal breaking characters, and I've failed so far. It does seem to imply that a formatter should have access to rules for legal breaking characters per script. j --- Users complain that they receive too much spam, while spammers protest messages are legal. -InfoWorld You do not have to do everything disagreeable that you have a right to do. -Judith Martin (Miss Manners) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
DO NOT REPLY [Bug 11838] New: - Error when use a user configuartion font file in embedded FOP
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11838. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11838 Error when use a user configuartion font file in embedded FOP Summary: Error when use a user configuartion font file in embedded FOP Product: Fop Version: 0.20.4 Platform: PC OS/Version: Other Status: NEW Severity: Critical Priority: Other Component: general AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I added font Arial Narrow to FOP on Windows 2000 server. I followed the instructions in FOP web site to generate font metrics xml file and register it within FOP. The code in userconfig.xml is: !-- Arial Narrow -- font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialn.xml kerning=yes embed-file=c:\winnt\fonts\arialn.ttf font-triplet name=Arial Narrow style=normal weight=normal/ font-triplet name=ArialMTN style=normal weight=normal/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialnb1.xml kerning=yes embed-file=c:\winnt\fonts\arialnb.ttf font-triplet name=Arial Narrow style=normal weight=bold/ font-triplet name=ArialMTN style=normal weight=bold/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialni.xml kerning=yes embed-file=c:\winnt\fonts\arialni.ttf font-triplet name=Arial Narrow style=italic weight=normal/ font-triplet name=ArialMTN style=italic weight=normal/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialnbi.xml kerning=yes embed-file=c:\winnt\fonts\arialnbi.ttf font-triplet name=Arial Narrow style=italic weight=bold/ font-triplet name=ArialMTN style=italic weight=bold/ /font When I used the following command line to excute: C:\fop\fop-0.20.4fop -c conf/userconfig1.xml -xsl test.xsl -xml test.xml -pdf test.pdf It works fine. However if I use FOP embedded mode with code: Driver driver = new Driver(); String userConfig = c:/fop/fop-0.20.4/conf/userconfig.xml; File userConfigFile = new File(userConfig); Options options = new Options(); options.loadUserconfiguration(userConfigFile); driver.setLogger(log); driver.setRenderer(Driver.RENDER_PDF); driver.setOutputStream(out); driver.render(input.getParser(), input.getInputSource()); I get the following errors: [ERROR] Failed to read font metrics file /c:/fop/fop- 0.20.4/fonts/arialnb1.xml : File /c:/fop/fop-0.20.4/fonts/arialnb1.xml not found. org.apache.fop.apps.FOPException: java.lang.NullPointerException at org.apache.fop.apps.Driver.render(Unknown Source) at com.ceira.apriaups.UPSManifest.FopPrintUPS.FilerenderXML (FopPrintUPS.java:82) at com.ceira.apriaups.UPSManifest.FopPrintUPS.ManifestReporter (FopPrintUPS.java:58) at com.ceira.apriaups.UPSManifest.FopPrintUPS.main(FopPrintUPS.java:226) - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
DO NOT REPLY [Bug 11839] New: - Commandline print options does not work when use with a user configuration font file
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11839. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11839 Commandline print options does not work when use with a user configuration font file Summary: Commandline print options does not work when use with a user configuration font file Product: Fop Version: 0.20.4 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Critical Priority: Other Component: general AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] print options does not work when use with a user configuration font file. I added the Arial Narrow font in Userconfig1.xsl as follows: - userconfig1.xsl --- !-- Arial Narrow -- font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialn.xml kerning=yes embed-file=c:\winnt\fonts\arialn.ttf font-triplet name=Arial Narrow style=normal weight=normal/ font-triplet name=ArialMTN style=normal weight=normal/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialnb1.xml kerning=yes embed-file=c:\winnt\fonts\arialnb.ttf font-triplet name=Arial Narrow style=normal weight=bold/ font-triplet name=ArialMTN style=normal weight=bold/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialni.xml kerning=yes embed-file=c:\winnt\fonts\arialni.ttf font-triplet name=Arial Narrow style=italic weight=normal/ font-triplet name=ArialMTN style=italic weight=normal/ /font font metrics-file=file:///c:/fop/fop-0.20.4/fonts/arialnbi.xml kerning=yes embed-file=c:\winnt\fonts\arialnbi.ttf font-triplet name=Arial Narrow style=italic weight=bold/ font-triplet name=ArialMTN style=italic weight=bold/ /font When I ran from the commandline I got the following errors: C:\fop\fop-0.20.4fop -d -c conf/userconfig1.xml -xsl testman815.xsl -xml manifest.xml -print C:\fop\fop-0.20.4java -cp build\fop.jar;lib\batik.jar;lib\xalan- 2.3.1.jar;lib\xercesImpl-2.0.1.jar;lib\xml-apis.jar;lib\avalon-framework-cvs-200 20315.jar;lib\logkit-1.0.jar;lib\jimi-1.0.jar org.apache.fop.apps.Fop -d -c conf/userconfig1.xml -xsl testman815.xsl -xml manifest.xml -print [DEBUG] Input mode: [DEBUG] xslt transformation [DEBUG] xml input file: manifest.xml [DEBUG] xslt stylesheet: testman815.xsl [DEBUG] Output mode: [DEBUG] print directly [DEBUG] OPTIONS [DEBUG] user configuration file: conf\userconfig1.xml [DEBUG] debug mode on [DEBUG] dump configuration [DEBUG] quiet mode on [DEBUG] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [DEBUG] reading user configuration file [DEBUG] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [DEBUG] base directory: file:/C:/fop/fop-0.20.4/ [ERROR] FOP 0.20.4 [DEBUG] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [ERROR] Logger not set [INFO] building formatting object tree [DEBUG] setting up fonts [INFO] [1] [DEBUG] create embedFont c:\winnt\fonts\arialnb.ttf [ERROR] Failed to create embedFont c:\winnt\fonts\arialnb.ttf : java.lang.NoSuchMethodError: java.awt.Font: method createFont (ILjava/io/InputStream;)Ljava/awt/Font; not found [DEBUG] create embedFont c:\winnt\fonts\arialn.ttf [ERROR] Failed to create embedFont c:\winnt\fonts\arialn.ttf : java.lang.NoSuchMethodError: java.awt.Font: method createFont (ILjava/io/InputStream;)Ljava/awt/Font; not found [INFO] [2] [INFO] [3] [INFO] [4] [INFO] [5] [INFO] [6] [INFO] [7] [INFO] Parsing of document complete, stopping renderer C:\fop\fop-0.20.4 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Tasks - layout
-Original Message- From: Karen Lease [mailto:[EMAIL PROTECTED]] Sent: August 19, 2002 6:58 PM To: [EMAIL PROTECTED] Subject: Re: Tasks - layout [ SNIP ] With regard to the line-height calculations, is anybody in the group interested in getting into the gory details of the baseline stuff for different scripts? I spent some time poring over the spec and trying to get a handle on this, but maybe it's too much detail for now. On the other hand, I'd really like to make sure that this version of FOP handles that stuff correctly as well as being able to do the various kinds of line-stacking strategies defined by the XSL-FO spec. I am definitely interested. I have put some thought into these things already. Granted, when I implement it'll be a different codebase but I am happy to work out the details on this list. Arved - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]