From 4425a830bafce1e79bb5d7bad992380f07d6f2ed Mon Sep 17 00:00:00 2001 From: fotis Date: Sun, 26 Nov 2000 00:00:34 +0000 Subject: [PATCH] documentation update for release 0.15 git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193838 13f79535-47bb-0310-9956-ffa450edef68 --- STATUS | 106 +++++++++++++---------- docs/html-docs/architecture.html | 31 ++++++- docs/html-docs/bugs.html | 11 +-- docs/html-docs/download.html | 6 ++ docs/html-docs/embedding.html | 2 + docs/html-docs/examples.html | 12 ++- docs/html-docs/graphics/specs-header.jpg | Bin 18837 -> 21246 bytes docs/html-docs/implemented.html | 13 ++- docs/html-docs/index.html | 16 +++- docs/html-docs/involved.html | 4 +- docs/html-docs/limitations.html | 7 -- docs/html-docs/running.html | 8 +- docs/html-docs/specs.html | 15 +++- docs/xml-docs/fop/architecture.xml | 2 +- docs/xml-docs/fop/bugs.xml | 11 +-- docs/xml-docs/fop/examples.xml | 12 ++- docs/xml-docs/fop/implemented.xml | 13 ++- docs/xml-docs/fop/involved.xml | 2 +- docs/xml-docs/fop/limitations.xml | 7 -- docs/xml-docs/fop/readme.xml | 17 ++-- docs/xml-docs/fop/running.xml | 2 +- docs/xml-docs/fop/specs.xml | 8 +- src/org/apache/fop/apps/Version.java | 2 +- 23 files changed, 183 insertions(+), 124 deletions(-) diff --git a/STATUS b/STATUS index e084796c7..76f4c400a 100644 --- a/STATUS +++ b/STATUS @@ -45,6 +45,7 @@ Done since 0.14 release - redesign of properties handling, support for computed, compound and shorthand properties, supporting docs [Karen Lease] - redesign of font handling for AWTRenderer [Dorothea Wiarda] +- added: support for leader-alignment, leader-pattern-width, leader-pattern (dots,space) [Fotis Jannidis] - fixed: unnecessary dependence on jdk 1.2 features [Christian Geisert] - fixed: unicode problem in UserMessage [Ross Golder] - fixed: broken buildFOTree [Marcus Holmberg] @@ -53,6 +54,9 @@ Done since 0.14 release - fixed: renamed: inline-sequence -> inline, simple-link -> basic-link, white-space-treatment -> white-space-collapse [Fotis Jannidis] - fixed: images were rendered only half size (Mikko Honkala) +- fixed: pdf file in XalanCommandFile explicitly closed [Dharamveer Salecha] +- fixed: lists containing list do not keep their indentation correctly + over a page boundary [Dorothea Wiarda] Done since 0.13 release - pagination updated to 03/27/2000 XSL WD [Arved Sandstrom] @@ -100,19 +104,21 @@ image support [Eric Schaeffer, Pankaj Narula, Andreas Rueckert] SVG support [Keiron Liddle][Torsten Friebe] smooth shading in PDF [Steven Coffman] tables [Karen Lease] +hyphenation [Carlos Villegas] docs [Fotis Jannidis] **** THINGS TO DO **** -Support XSL Working Draft 18 October 2000 +Support XSL Candidate Release + +first target is basic conformance 1.One category of tasks will be to implement missing formatting objects. basic fo:character fo:declarations - fo:leader [at the moment only partially] fo:multi-case fo:table-and-caption fo:table-header @@ -138,67 +144,75 @@ extended fo:table-footer fo:title -2. done -3. done -4.A fourth, and not insignificant, category of tasks is to decide upon and +2. A not insignificant, category of tasks is to decide upon and implement all reasonable properties required by the specification. This also means that at this point, until further review, no FO can be considered to be compliant. + This are the properties which must be implemented to reach basic conformance a) CHANGED space-after.optimum (Incomplete) space-before.optimum (Incomplete) - white-space-treatment has to be renamed to white-space-collapse and adjusted keep-with-next (Changed) b) NEW - 1.alignment-adjust 26.min-width - 2.baseline-identifier 27.number-columns-repeated - 3.baseline-shift 28.number-columns-spanned - 4.block-progression-dimension 29.number-rows-spanned - 5.character 30.orphans - 6.clip 31.overflow - 7.column-number 32.page-break-after - 8.content-type 33.page-break-before - 9.direction 34.precedence - 10.display-align 35.ref-id - 11.dominant-baseline 36.reference-orientation - 12.font-variant 37.region-name - 13.format 38.relative-align - 14.grouping-separator 39.role - 15.grouping-size 40.rule-style - 16.inline-progression-dimension 41.source-document - 17.keep-with-previous 42.space-after - 18.leader-length 43.space-before - 19.leader-pattern 44.space-end - 20.letter-value 45.space-start - 21.line-stacking-strategy - 22.master-name 47.visibility - 23.max-height 48.widows - 24.max-width 49.writing-mode - 25.min-height 50.z-index - -5.A fifth category of tasks is the ongoing effort to promote maintainability, -write - more and better documentation, and to refine the build process. - a) Add the property files to the source code (how is the vote on this?) - b) add examples so that all the FOs supported are used in some example - -6. Redo or work on the classes/properties which have been fixed only in a superficial way - to conform to the latest working draft - - leader is just a renamed display-rule and must be rewritten: - it is now (wd 3.2000) generating inline-areas and not block areas - and has a more complex function - - inline is just a renamed inline-sequence and must be worked on: - it is now (wd 3.2000) generating an inline-area itself + alignment-adjust + alignment-baseline + azimuth + baseline-shift + block-progression-dimension + border-after-precedence + border-before-precedence + border-end-precedence + border-start-precedence + character + clip + column-number + content-type + cue-after + cue-before + direction + display-align + dominant-baseline + font-variant + format + grouping-separator + grouping-size + inline-progression-dimension + keep-with-next + keep-with-previous + letter-value + line-stacking-strategy + number-columns-repeated + number-columns-spanned + number-rows-spanned + orphans + overflow + reference-orientation + relative-align + role + rule-style + source-document + space-after (full) + space-before (full) + space-end + space-start + visibility + widows + writing-mode + z-index + +3. A third category of tasks is the ongoing effort to promote maintainability, + write more and better documentation, and to refine the build process. + a) add examples. In examples/fo there should be at least one file for each + supported flow object showing the use of all properties applying to it. **** Bugs **** - colour not continued onto subsequent pages if coloured block goes over page - keep-next doesn't work and doubles the text lines which should be moved to the next page -- lists containing list do not keep their indentation correctly over a page boundary - border width in fo:table is added to the start position of the next block or table (see page 6 in table.fo for a test case) diff --git a/docs/html-docs/architecture.html b/docs/html-docs/architecture.html index e3a37f8df..25d77cd45 100644 --- a/docs/html-docs/architecture.html +++ b/docs/html-docs/architecture.html @@ -30,6 +30,8 @@ this class, a typical sequence is:

driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);

driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");

driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");

+

driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");

+

driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");

driver.setWriter(new PrintWriter(new FileWriter(args[1])));

driver.buildFOTree(parser, fileInputSource(args[0]));

@@ -111,8 +113,8 @@ constructing the FO tree. The key SAX events used are

Block

-

InlineSequence

-

SimpleLink

+

Inline

+

BasicLink


@@ -270,6 +272,31 @@ discusses some issues applicable to rendering.


+
SVG
  + +

+FOP supports some svg rendering. SVG is supported as an instream-foreign-object +embedded in an FO document. FOP also supports rendering of an external SVG image. +

+ +

+Since the intream object that contains the SVG returns a single fo area then +the construction of the SVG document is handled differently. The SVG is created +by calling the createGraphic() on each SVG element. The element is then +responsible for loading the necessary information and child elements and creating +the corresponding SVG DOM element. When the FO tree is being layed out the +SVG tree is turned into the SVG DOM document which is stored for later rendering. +

+ +

+The SVG document is then held as a DOM tree which is then rendered by going through +the elements of the tree and rendering then in turn. +

+ +

+For more information see the SVG documentation. +

+


Copyright © 1999 The Apache Software Foundation. All Rights Reserved. diff --git a/docs/html-docs/bugs.html b/docs/html-docs/bugs.html index 0591598da..4896707d1 100644 --- a/docs/html-docs/bugs.html +++ b/docs/html-docs/bugs.html @@ -29,14 +29,9 @@ file with your report, which just demonstrates the problem. Thanks for your help!


Known bugs
  -
    -
  • Colour not continued onto subsequent pages, if coloured block goes over page.
  • -
  • SVG linearGradients don't appear the same as in other SVG Viewers
  • -
  • colour not continued onto subsequent pages if coloured block goes over page
  • -
  • no SVG support in AWTCommandLine
  • -
  • keep-next doesn't work and doubles the text lines which should be moved to the next page
  • -
  • lists containing list do not keep their indentation correctly over a page boundary
  • -
+

A list of known bugs can be found at the end of the file + Status in the root + of the Fop distribution.



Copyright © 1999 The Apache Software Foundation. diff --git a/docs/html-docs/download.html b/docs/html-docs/download.html index f96930f51..c0ad4248f 100644 --- a/docs/html-docs/download.html +++ b/docs/html-docs/download.html @@ -22,6 +22,12 @@
 

You can download the latest release version from the distribution directory.

The file contains also the documentation (including some example fo files) and the source.

+

If you want to work with the latest and nicest code, you can use the cvs version. See the section + on AnonCVS in the xml.apache.org documentation for details. + Sometimes people have difficulties to access the cvs server; in this case you can download + a snapshot from the cvs files here. + In both cases you have to build Fop yourself - see Compiling Fop for details. +

To run FOP from the command line, see Running FOP. If you are interested in embedding FOP in a Java application of your own, see Embedding FOP. diff --git a/docs/html-docs/embedding.html b/docs/html-docs/embedding.html index 8ddf32710..5f145e2c9 100644 --- a/docs/html-docs/embedding.html +++ b/docs/html-docs/embedding.html @@ -46,6 +46,8 @@

driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);

driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");

driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");

+

driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");

+

driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");

driver.setWriter(new PrintWriter(new FileWriter(args[1])));

driver.buildFOTree(parser, fileInputSource(args[0]));

driver.format();

diff --git a/docs/html-docs/examples.html b/docs/html-docs/examples.html index 8148c93c3..5e31f7146 100644 --- a/docs/html-docs/examples.html +++ b/docs/html-docs/examples.html @@ -30,11 +30,9 @@
  • normal.fo - a simple file showing the use of a 2 level of headings, normal text and a header.
  • -
  • table.fo - a simple table +
  • table.fo - some table examples
  • -
  • list.fo - a simple list -
  • -
  • list2.fo - some list examples +
  • list.fo - a short tutorial how to use list fo's and properties
  • images.fo - shows how to embed gif and jpg images into the xsl:fo file using external-graphic.
  • @@ -43,7 +41,7 @@
  • extensive.fo - a longer test file containing a lot of different flow objects and properties. A good candidate to test your bugfix or new Fop code.
  • -
  • leader.fo - a very simple example of a rule +
  • leader.fo - shows different uses of fo:leader, p.e. as rule or in a table of content
  • normalex.fo - shows the use of computed property values
  • @@ -51,10 +49,10 @@
  • instream.fo - shows the use of fo:instream-foreign-object together with svg
  • -
  • inhprop.fo - shows the use of inherited property values -
  • textdeko.fo - shows the use of the property textdecoration
  • +
  • readme.fo - uses an old version of Fop documentation for a longer example +
  • Look also into the directory examples/svg. There you find some very extensive svg examples. Just start makedoc. diff --git a/docs/html-docs/graphics/specs-header.jpg b/docs/html-docs/graphics/specs-header.jpg index aadb2ec1aa36e6841b5269588567f4fc79d427eb..121d33984a76b2f1861b4647a04e03d19bc6ef9d 100644 GIT binary patch literal 21246 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 diff --git a/docs/html-docs/implemented.html b/docs/html-docs/implemented.html index 7a99f330a..90fc8f4fe 100644 --- a/docs/html-docs/implemented.html +++ b/docs/html-docs/implemented.html @@ -21,7 +21,7 @@
  • What's Implemented?
     

    The following formatting objects and properties of the xsl-fo - working draft (12 October 2000) are implemented.Please have also a look at the + candidate recommendation are implemented.Please have also a look at the section on limitations


    @@ -61,7 +61,7 @@
  • external-graphic
  • inline
  • instream-foreign-object
  • -
  • leader, but see limitations
  • +
  • leader
  • page-number
  • page-number-citation, see limitations
  • @@ -160,6 +160,10 @@
  • initial-page-number
  • internal-destination
  • keep-with-next (broken)
  • +
  • leader-alignment (not value "page")
  • +
  • leader-length (no percentage values)
  • +
  • leader-pattern (not value "use-content")
  • +
  • leader-pattern-width
  • left
  • line-height
  • margin-bottom (only on pages and regions)
  • @@ -185,18 +189,19 @@
  • provisional-distance-between-starts
  • provisional-label-separation
  • ref-id
  • +
  • region-name
  • right
  • rule-thickness
  • space-after.optimum
  • space-before.optimum
  • src
  • start-indent
  • -
  • textdecoration (only value 'underline' is supported)
  • +
  • textdecoration (only value "underline")
  • text-align
  • text-align-last
  • text-indent
  • top
  • -
  • white-space-treatment (broken)
  • +
  • white-space-collapse
  • width
  • wrap-option
  • diff --git a/docs/html-docs/index.html b/docs/html-docs/index.html index f0e9360db..5f6b8bd18 100644 --- a/docs/html-docs/index.html +++ b/docs/html-docs/index.html @@ -27,10 +27,22 @@ like XT or Xalan) or can be passed in memory as a DOM Document or (in the case of XT) SAX events.

    +

    The latest version of Fop is 0.15 and it supports the xsl:fo candidate release. + You can download + Fop including a precompiled version, the source code and many example files to + get you started. Pointers to introductions into xsl:fo can be found in the + section specifications. Please be aware, that + Fop is at the moment not a full implementation of the basic conformance level + of the xsl:fo standard. You can find a list of supported flow objects and properties + in the section Features and in section + Limitations in what way this support is + limited. +

    FOP is part of Apache's XML project. The homepage of FOP is http://xml.apache.org/fop. A list - of the committers to this project and the tasks they are working on can be found - in the file Status + of known bugs, the committers to this project and the tasks they are working on can be found + in the file Status in the + root of your Fop distribution.


    diff --git a/docs/html-docs/involved.html b/docs/html-docs/involved.html index 8b701fce1..cc89680d5 100644 --- a/docs/html-docs/involved.html +++ b/docs/html-docs/involved.html @@ -29,12 +29,12 @@ to fop-dev-subscribe@xml.apache.org

    Sending bug reports and feature requests to the list is a welcome and important contribution to developing Fop.

    -

    Read also the archive +

    Read also the archive of the discussion list fop-dev to get an idea of the issues being discussed.


    Look at the developer's code using cvs
     

    Between releases the newest code can be accessed via cvs. To do this you need to install a cvs - client on your computer if it is not already there. An explanation how to connect to the + client on your computer, if it is not already there. An explanation how to connect to the Fop source repository can be found at http://xml.apache.org/cvs.html. An introduction into cvs and the cvs manual can be found in the reference library.

    diff --git a/docs/html-docs/limitations.html b/docs/html-docs/limitations.html index f2f194b1c..f06f30429 100644 --- a/docs/html-docs/limitations.html +++ b/docs/html-docs/limitations.html @@ -23,13 +23,6 @@ in features, sometimes it does so only in a limited way.

    -
    leader
      -

    fo:leader is only supported in a very limited way: you can use it to draw simple rules. - Only the property value leader-pattern="rule" is supported. leader-length can be set, - but the value is not used. You should wrap leader into a block element. -

    -

    -
    page-number-citation
     

    Only works for table of contents without any problems. The case where the page number doesn't fit on a line isn't handled, and any text on the same line and after the page-number might not diff --git a/docs/html-docs/running.html b/docs/html-docs/running.html index f2e3b20d7..6d50d7292 100644 --- a/docs/html-docs/running.html +++ b/docs/html-docs/running.html @@ -28,10 +28,14 @@

    c) Fop supports SVG (see Features for further information) and needs the w3c.jar library. This library comes with Fop (xml-fop/lib) and must - be included in your classpath + be included in your classpath. The jar file w3c.jar contains the compiled classes for the + java svg bindings with some other DOM classes that are used by the SVG DOM bindings. + The source for the svg java binding classes can be found at - + SVG Java bindings, currently they correspond to the CR-SVG-20000802 specification document. + The other required files can be found at W3C DOM Java binding.

    d) Optional: Fop supports the jimi library for image processing, if it is in your classpath - when you build Fop. + when you build Fop. You can find it at java.sun.com


    Starting FOP as an standalone application
      diff --git a/docs/html-docs/specs.html b/docs/html-docs/specs.html index 54bfba28d..0dd6afbd1 100644 --- a/docs/html-docs/specs.html +++ b/docs/html-docs/specs.html @@ -19,12 +19,12 @@ License

    +
    Specifications
      +

    +
    Tutorials/Articles
      + +


    Copyright © 1999 The Apache Software Foundation. All Rights Reserved. diff --git a/docs/xml-docs/fop/architecture.xml b/docs/xml-docs/fop/architecture.xml index ac3d4d48d..bb4c00caa 100644 --- a/docs/xml-docs/fop/architecture.xml +++ b/docs/xml-docs/fop/architecture.xml @@ -98,7 +98,7 @@ constructing the FO tree. The key SAX events used are

    Block

    Inline

    -

    SimpleLink

    +

    BasicLink

    diff --git a/docs/xml-docs/fop/bugs.xml b/docs/xml-docs/fop/bugs.xml index 388996391..01de7ffa4 100644 --- a/docs/xml-docs/fop/bugs.xml +++ b/docs/xml-docs/fop/bugs.xml @@ -15,14 +15,9 @@ file with your report, which just demonstrates the problem. Thanks for your help!

    -
      -
    • Colour not continued onto subsequent pages, if coloured block goes over page.
    • -
    • SVG linearGradients don't appear the same as in other SVG Viewers
    • -
    • colour not continued onto subsequent pages if coloured block goes over page
    • -
    • no SVG support in AWTCommandLine
    • -
    • keep-next doesn't work and doubles the text lines which should be moved to the next page
    • -
    • lists containing list do not keep their indentation correctly over a page boundary
    • -
    +

    A list of known bugs can be found at the end of the file + Status in the root + of the Fop distribution.

    diff --git a/docs/xml-docs/fop/examples.xml b/docs/xml-docs/fop/examples.xml index 25fb4899c..c2019a6d7 100644 --- a/docs/xml-docs/fop/examples.xml +++ b/docs/xml-docs/fop/examples.xml @@ -15,11 +15,9 @@
  • normal.fo - a simple file showing the use of a 2 level of headings, normal text and a header.
  • -
  • table.fo - a simple table +
  • table.fo - some table examples
  • -
  • list.fo - a simple list -
  • -
  • list2.fo - some list examples +
  • list.fo - a short tutorial how to use list fo's and properties
  • images.fo - shows how to embed gif and jpg images into the xsl:fo file using external-graphic.
  • @@ -28,7 +26,7 @@
  • extensive.fo - a longer test file containing a lot of different flow objects and properties. A good candidate to test your bugfix or new Fop code.
  • -
  • leader.fo - a very simple example of a rule +
  • leader.fo - shows different uses of fo:leader, p.e. as rule or in a table of content
  • normalex.fo - shows the use of computed property values
  • @@ -36,10 +34,10 @@
  • instream.fo - shows the use of fo:instream-foreign-object together with svg
  • -
  • inhprop.fo - shows the use of inherited property values -
  • textdeko.fo - shows the use of the property textdecoration
  • +
  • readme.fo - uses an old version of Fop documentation for a longer example +
  • Look also into the directory examples/svg. There you find some very extensive svg examples. Just start makedoc. diff --git a/docs/xml-docs/fop/implemented.xml b/docs/xml-docs/fop/implemented.xml index 982611348..1773479b3 100644 --- a/docs/xml-docs/fop/implemented.xml +++ b/docs/xml-docs/fop/implemented.xml @@ -6,7 +6,7 @@

    The following formatting objects and properties of the xsl-fo - working draft (12 October 2000) are implemented.Please have also a look at the + candidate recommendation are implemented.Please have also a look at the section on limitations

    @@ -46,7 +46,7 @@
  • external-graphic
  • inline
  • instream-foreign-object
  • -
  • leader, but see limitations
  • +
  • leader
  • page-number
  • page-number-citation, see limitations
  • @@ -145,6 +145,10 @@
  • initial-page-number
  • internal-destination
  • keep-with-next (broken)
  • +
  • leader-alignment (not value "page")
  • +
  • leader-length (no percentage values)
  • +
  • leader-pattern (not value "use-content")
  • +
  • leader-pattern-width
  • left
  • line-height
  • margin-bottom (only on pages and regions)
  • @@ -170,18 +174,19 @@
  • provisional-distance-between-starts
  • provisional-label-separation
  • ref-id
  • +
  • region-name
  • right
  • rule-thickness
  • space-after.optimum
  • space-before.optimum
  • src
  • start-indent
  • -
  • textdecoration (only value 'underline' is supported)
  • +
  • textdecoration (only value "underline")
  • text-align
  • text-align-last
  • text-indent
  • top
  • -
  • white-space-treatment (broken)
  • +
  • white-space-collapse
  • width
  • wrap-option
  • diff --git a/docs/xml-docs/fop/involved.xml b/docs/xml-docs/fop/involved.xml index e80a55b62..68742cce9 100644 --- a/docs/xml-docs/fop/involved.xml +++ b/docs/xml-docs/fop/involved.xml @@ -22,7 +22,7 @@

    Between releases the newest code can be accessed via cvs. To do this you need to install a cvs - client on your computer if it is not already there. An explanation how to connect to the + client on your computer, if it is not already there. An explanation how to connect to the Fop source repository can be found at http://xml.apache.org/cvs.html. An introduction into cvs and the cvs manual can be found in the reference library.

    diff --git a/docs/xml-docs/fop/limitations.xml b/docs/xml-docs/fop/limitations.xml index d4a88e966..d293c824d 100644 --- a/docs/xml-docs/fop/limitations.xml +++ b/docs/xml-docs/fop/limitations.xml @@ -9,13 +9,6 @@ in features, sometimes it does so only in a limited way.

    - -

    fo:leader is only supported in a very limited way: you can use it to draw simple rules. - Only the property value leader-pattern="rule" is supported. leader-length can be set, - but the value is not used. You should wrap leader into a block element. -

    -
    -

    Only works for table of contents without any problems. The case where the page number doesn't fit on a line isn't handled, and any text on the same line and after the page-number might not diff --git a/docs/xml-docs/fop/readme.xml b/docs/xml-docs/fop/readme.xml index 22c187e18..add186b17 100644 --- a/docs/xml-docs/fop/readme.xml +++ b/docs/xml-docs/fop/readme.xml @@ -1,7 +1,6 @@ -