Re: [PROPOSAL] API Changes

2004-07-11 Thread Glen Mazza
-- J.Pietschmann [EMAIL PROTECTED] wrote:
 Glen Mazza wrote:
  That should be enough for us in 1.0, no?  Those
 more
  elaborate API goals appear best discussed
 post-1.0,
  presumably once more vital parts of the system
 have
  been addressed.  
 
 A stable API is as important as other major
 features.
 If we do a mojor release, post-release API changes
 should
 be small and rare.
 

Agreed, I have less problem however with *adding* to
the API as FOP gets more powerful.  But if we're going
from 3 methods to 40, then, yes, we probably would
need a new major release.

Now whether the changes I proposing (and the state of
the app after the rest of the system is more or less
complete) would warrant a 1.0 or a 0.30 is not of
concern to me.  The API-enhanced version would just be
a 2.0 or a 1.0, respectively.

Thanks,
Glen



Bug report for Fop [2004/07/11]

2004-07-11 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=CriticalMAJ=Major |
| |   |   MIN=Minor   NOR=Normal  ENH=Enhancement   |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|  635|Opn|Nor|2001-02-18|Doesn't support id= attribute in fo:page-sequence |
|  953|Opn|Nor|2001-03-12|Incorrect hyperlinks area rendering in justified t|
| 1063|New|Nor|2001-03-21|fop does not handle large fo files|
| 1180|New|Maj|2001-04-02|Problem with monospaced font  |
| 1859|Opn|Min|2001-05-22|org.apache.fop.apps.Driver.reset() doesn't fully r|
| 1998|New|Nor|2001-06-05|linefeed-treatment not understood |
| 2150|Ass|Maj|2001-06-13|New page with  a table-header but without any tabl|
| 2475|Ass|Nor|2001-07-06|Borders don't appear to work in fo:table-row|
| 2740|New|Maj|2001-07-23|multi-page tables sometimes render badly  |
| 2909|New|Maj|2001-07-30|Gradient render error |
| 2964|Ass|Nor|2001-08-02|problems with height of cells in tables   |
| 2988|New|Maj|2001-08-03|0.19: list-item-label does not stick to list-item-|
| 3044|Ass|Maj|2001-08-08|keep-together not functioning |
| 3280|New|Nor|2001-08-27|PCL Renderer doesn't work |
| 3305|Opn|Nor|2001-08-28|list-block overlapping footnote body  |
| 3497|New|Maj|2001-09-07|id already exists error when using span=all attr|
| 3824|New|Blk|2001-09-25|MIF option with tables|
| 4030|New|Nor|2001-10-08|IOException creating Postscript with graphics on S|
| 4126|New|Nor|2001-10-12|FontState.width() returns pts instead of millipts |
| 4226|New|Nor|2001-10-17|The orphans property doesn't seem to work |
| 4388|New|Nor|2001-10-24|Nullpointer exception in the construction of new D|
| 4415|New|Nor|2001-10-25|scaling=uniform does not work on images...  |
| 4510|New|Nor|2001-10-30|fo:inline common properties ignored?  |
| 4535|New|Maj|2001-10-31|PCL renderer 1.13 not rendering SVG   |
| 4767|New|Nor|2001-11-09|SVG text is distored in PDF output|
| 5001|New|Nor|2001-11-21|content-width and content-height ignored? |
| 5010|New|Enh|2001-11-21|Better error reporting needed |
| 5047|Ass|Nor|2001-11-23|Dotted border style is not supported  |
| 5124|New|Maj|2001-11-27|fo:block-container is not rendered properly using |
| 5335|Opn|Min|2001-12-10|Text with embedded CID fonts not retrievable from |
| 5655|Ass|Nor|2002-01-02|text-decoration cannot take multiple values   |
| 6094|Opn|Maj|2002-01-29|0.20.3rc hangs in endless loop|
| 6237|Opn|Nor|2002-02-05|#xFB01 (fi ligature) produces a sharp? |
| 6305|New|Nor|2002-02-07|Using fo:table-and-caption results in empty output|
| 6427|New|Enh|2002-02-13|Adding additional Type 1 fonts problem|
| 6437|New|Maj|2002-02-13|Tables without fo:table-column don't render   |
| 6483|New|Nor|2002-02-15|Table, Loop, footer could not fit on page, moving|
| 6844|New|Nor|2002-03-04|No line breaks inserted in list-item-label|
| 6918|New|Enh|2002-03-06|reference-orientation has no effect   |
| 6997|New|Nor|2002-03-09|[PATCH] Row-spanned row data breaks over a page wi|
| 7140|New|Enh|2002-03-15|page-position attribute set to last on condition|
| 7241|New|Nor|2002-03-19|keep-with-previous, keep-with-next only working on|
| 7283|New|Nor|2002-03-20|Table border misaligned when using margin-left in |
| 7337|New|Nor|2002-03-21|border around external image leaves empty space   |
| 7487|New|Nor|2002-03-26|break-before=page for table inserts empty page  |
| 7496|New|Nor|2002-03-26|The table header borders are not adjusted to the b|
| 7525|New|Cri|2002-03-27|table with spans inside a list-block  |
| 7919|New|Cri|2002-04-10|problem to use attribute linefeed-treatment and li|
| 8003|Ass|Maj|2002-04-12|FopImageFactory never releases cached images  |
| 8050|New|Nor|2002-04-13|Soft hyphen (shy;) is not handled properly   |
| 8321|New|Nor|2002-04-19|from-parent('width') returns 0 for nested tables  |
| 

retreat...

2004-07-11 Thread Glen Mazza
Team,

On my two earlier API proposals [1], I'm going to take
a step back on the first one about combining the
apps.Driver class into apps.Fop.  Joerg's thoughts
that the API wrapper/class and application
wrapper/class should be distinct is weighing on my
mind; in the future we may find it beneficial that we
have them separate.  Also, Driver has a long history
with our application that disturbing may not be
worthwhile.

The second issue I'm still unsure on, although I moved
FopPrintServlet from using XSLTInputHandler to JAXP.

Thanks,
Glen

[1] http://marc.theaimsgroup.com/?l=fop-devm=108942539604883w=2


FOP FAD design approaches

2004-07-11 Thread Peter B. West
Fop-devs,
It occurs to me that some of the implications of the FAD approach have 
not been successfully communicated.  Part of this may well be because of 
my own inadequate understanding of the FOP process.  Before I continuing 
with this discussion, I had better ensure that my understanding of one 
important point is correct.  Why does FOP process in minimum units of a 
page-sequence?

Peter
--
Peter B. West http://www.powerup.com.au/~pbwest/resume.html


Re: FOP FAD design approaches

2004-07-11 Thread Glen Mazza
Here is what I understand, others may have more to
add:

I see two ways to interpret your question:  (1) what
happens in the code that makes page-sequence be the
lowest granularity we have, and (2) why we do it that
way.  

1) When the page-sequence's children
(layout-master-set, declarations?, flow) have been
finished processing, endElement() in our SAXHandler
FOTreeBuilder is called. [1]  That method calls end()
of the PageSequenceObject [2], which in turn calls
endPageSequence() [3] of the FOInputHandler object,
which is either FOTreeHandler for PDF/PS, etc. or
MIFHandler or RTFHandler.

It is endPageSequence() which calls
formatPageSequence(pageSequence, areaTree)--which
starts the formatting process.

[1]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java?annotate=1.35#197

[2]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java?annotate=1.27#170

[3]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java?annotate=1.25#199

2) Our processing is directly on top of SAX--we react
at the start and end of XML elements as they come in. 
Unlike FAD we don't cache into any intermediate data
structures, so I don't see how we could do a lower
granularity.  We could stop at the end of fo:flow, but
that is only one element away from fo:page-sequence's
object endElement() being called from above, so 
nothing measurable would be gained.  

I guess the answer to your question in (2) is (a) that
our process is driven by fo:objects, not the areas
that they generate, and there is no fo:object that
corresponds to 1 page, etc.--that's determined by
fo:flow as it is formatted and (b) there are some
programmatic conveniences to stopping at the
page-sequence level, as the layout-master-set can be
read in one time and is valid for all the pages
generated.

Glen

--- Peter B. West [EMAIL PROTECTED] wrote:
 Fop-devs,
 
 It occurs to me that some of the implications of the
 FAD approach have 
 not been successfully communicated.  Part of this
 may well be because of 
 my own inadequate understanding of the FOP process. 
 Before I continuing 
 with this discussion, I had better ensure that my
 understanding of one 
 important point is correct.  Why does FOP process in
 minimum units of a 
 page-sequence?
 
 Peter
 -- 
 Peter B. West
 http://www.powerup.com.au/~pbwest/resume.html