From: Keiron Liddle Date: Mon, 11 Nov 2002 09:22:37 +0000 (+0000) Subject: moved to new docs X-Git-Tag: Alt-Design-integration-base~338 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a7a1db3511fd664f5906c8fb50b403528d43f1bb;p=xmlgraphics-fop.git moved to new docs git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195465 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/xml-docs/fop/bugs.xml b/docs/xml-docs/fop/bugs.xml deleted file mode 100644 index 1e8e69336..000000000 --- a/docs/xml-docs/fop/bugs.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - -

Please report bugs to bugzilla, the Apache bug - database. A copy of your bug report is sent automatically to the discussion list fop-dev@xml.apache.org.

-

Please make sure, before you report a bug, that it is not mentioned in the FAQ or - in the list of open bugs at bugzilla.

-

Please make your description as concise as possible and add an example fo - file with your report, which just demonstrates the problem. Thanks for your help!

-
- -

A list of known bugs can be found at bugzilla.

-
-
- - diff --git a/docs/xml-docs/fop/compiling.xml b/docs/xml-docs/fop/compiling.xml deleted file mode 100644 index c6d8ec05d..000000000 --- a/docs/xml-docs/fop/compiling.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - -

Compilation is started by executing build, either as a batch file on win32 (build.bat) or as a shell script on unix. Before you - can start one of these scripts, you have to setup your classpath and the environment variable JAVA_HOME (see below).

-

The compilation uses Ant, - a replacement of make (you can find more information about Ant at - jakarta.apache.org). - build.xml is the replacement of makefile. Look there for detailed information on the build - process and different targets.

-

A help screen is shown by calling "build usage".

-

If you only want to use Fop, you don't need to build it. A fop.jar comes with the distribution.

- -

You don't have to setup your classpath; all libraries needed to compile Fop are coming with - the distribution and are referenced by the build script, so you only need to care about them, - if you build Fop in any other way. See build.bat/build.sh for details.

-
- -

You have to set the enviroment variable JAVA_HOME. It must point to your local JDK - root directory. This is true, even if you use JDK 1.2 or above, which normally don't need this - setting. It is used by Ant, the compilation software.

-
- -

If you have problems compiling Fop, please try this first:

-
    -
  • delete the build directory completely and try a new build from scratch
  • -
  • check, whether you have an older version of xerces.jar, xalan.jar, batik.jar somewhere in - you classpath.
  • -
-

If you still have problems, please look at the - page bugs, for further help.

-
-
diff --git a/docs/xml-docs/fop/configuration.xml b/docs/xml-docs/fop/configuration.xml deleted file mode 100644 index 4d8583546..000000000 --- a/docs/xml-docs/fop/configuration.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - -
- Configuration - Configurating FOP - - -
- - - - -

In the directory xml-fop/conf you will find two configuration files. One of them, - config.xml, is only intended for Fop developers, who want to add new default values - to some Fop feature. Don't change this file. For user configuration there is a file called - userconfig.xml. It contains templates for all settings a user can change. Most of them are - commented out. Uncomment the entry you want to set and change the value according to - your wishes. Please regard any comments which specify the value range. And, well, the - configuration files are xml files, so keep them at least well-formed ;-) -

-

The file userconfig.xml is not read automatically, but the user must specify its use on - the command line. See Running Fop - or Embedding Fop for details. -

-
- -

Fop comes already with some hyphenation pattern. If you need a hyphenation pattern - which isn't included in the distribution, do the following: -

-

1. get the TeX hyphenation pattern file and turn it into an xml file which conforms - to the hyphenation.dtd in the sub directory /hyph -

-

2. name this new file following this schema: languageCode_countryCode.xml. If you don't need - a country code, leave it out, e.g the file name for an American english hyphenation pattern - would look like this: en_US.xml. For an Italian file: it.xml. Language and country codes must be - the same as in xsl:fo, that is follow - ISO 639 - and ISO 3166 - respectively. NOTE: The ISO 639/ISO 3166 convention is that language names are - written in lower case, while country codes are written in upper case. -

-

3. If you have build your new hyphenation pattern file successfully there are - two ways to make it accessible to Fop. -

-

a) Put this new file into the directory /hyph and rebuild Fop. The file will - be picked up and added to the fop.jar. -

-

b) Put the file into a directory of your choice and specify this directory - in the userconfig.xml in the entry <hyphenation-dir>. -

-
-
- -
- diff --git a/docs/xml-docs/fop/document.jpg b/docs/xml-docs/fop/document.jpg deleted file mode 100644 index e441833d8..000000000 Binary files a/docs/xml-docs/fop/document.jpg and /dev/null differ diff --git a/docs/xml-docs/fop/download.xml b/docs/xml-docs/fop/download.xml deleted file mode 100644 index 8ef87431a..000000000 --- a/docs/xml-docs/fop/download.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -
- Download - Downloading FOP - - -
- - - -

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. -

- -

Important: Currently, releases of FOP are coming out of the "fop-0_20_2-maintain" branch. The "MAIN" branch is - used for the redesign. See NEW DESIGN for more information.

-
-

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/xml-docs/fop/embedding.xml b/docs/xml-docs/fop/embedding.xml deleted file mode 100644 index 54d8b70fd..000000000 --- a/docs/xml-docs/fop/embedding.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - -
- Embedding FOP - Notes about embedding FOP in your Java application - - -
- - - - -

Instantiate org.apache.fop.apps.Driver. Once this class is - instantiated, methods are called to set the - Renderer to use - and the OutputStream to use to output the results of the - rendering (where applicable). In the case of the Renderer and - ElementMapping(s), the Driver may be supplied either with the - object itself, or the name of the class, in which case Driver will - instantiate the class itself. The advantage of the latter is it - enables runtime determination of Renderer and ElementMapping(s). -

-
- -

The simplest way to use Driver is to instantiate it with the - InputSource and OutputStream, then set the renderer desired and - call the run method. -

-

Here is an example use of Driver which outputs PDF: -

- - -

You also need to set up logging. Global logging for all FOP - processes is managed by MessageHandler. Per-instance logging - is handled by Driver. You want to set both using an implementation - of org.apache.avalon.framework.logger.Logger. See - Jakarta - Avalon Framework for more information. -

- - -

To setup the user config file you can do the following -

- -

- This is all you need to do, it sets up a static configuration class. -

- -

Once the Driver is set up, the render method - is called. Depending on whether DOM or SAX is being used, the - invocation of the method is either render(Document) or - render(Parser, InputSource) respectively. -

-

- Another possibility may be used to build the FO Tree. You can - call getContentHandler() and fire the SAX events yourself. - -

-

Once the FO Tree is built, the format() and render() methods may be - called in that order. -

-

Here is an example use of Driver:

- -

You can also specify an xml and xsl file for the input. -

-

Here is an example use of Driver with the XSLTInputHandler:

- -

Have a look at the classes CommandLineStarter or FopServlet for complete examples.

-

-If your FO files contain SVG then batik will be used. When batik is -initialised it uses certain classes in java.awt that -intialises the java AWT classes. This means that a daemon thread -is created by the jvm and on unix it will need to connect to a -DISPLAY. -The thread means that the java application will not automatically quit -when finished, you will need to call System.exit. These -issues should be fixed in the upcoming JDK1.4 -

-
- -

FOP uses Jakarta Avalon's - Logger - interface to do logging. See the Jakarta Avalon project for more information.

-

Per default FOP uses the ConsoleLogger which logs to System.out. If you want to do logging using a - logging framework (such as LogKit, Log4J or JDK 1.4 Logging) you can set a - different Logger implementation on the Driver object. Here's an example how you would use LogKit:

- -

The LogKitLogger class implements the Logger interface so all logging calls are being redirected to LogKit. - More information on Jakarta LogKit can be found here.

-

Similar implementations exist for Log4J (org.apache.avalon.framework.logger.Log4JLogger) and - JDK 1.4 logging (org.apache.avalon.framework.logger.Jdk14Logger).

-

If you want FOP to be totally silent you can also set an org.apache.avalon.framework.logger.NullLogger instance.

-

If you want to use yet another logging facility you simply have to create a class that implements org.apache.avalon.framework.logging.Logger - and set it on the Driver object. See the existing implementations in Avalon Framework for examples.

- -
- - -

-You may want to supply you input to FOP from different data sources. -For example you may have a DOM and XSL stylesheet or you may want to -set variables in the stylesheet. The page here: - -http://xml.apache.org/xalan-j/usagepatterns.html describes -how you can do these things. -

-

-You can use the content handler from the driver to create a SAXResult. -The transformer then can fire SAX events on the content handler which -will in turn create the rendered output. -

-
- -

-If FOP is going to be used multiple times within your application -it may be useful to reuse certain objects to save time. -

-

-The renderers and the driver can both be reused. A renderer is reusable -once the previous render has been completed. The driver is reuseable -after the rendering is complete and the reset method is called. -You will need to setup the driver again with a new OutputStream, -IntputStream and renderer. -

-
- - To get the number of pages that were rendered by FOP you can call Driver.getResults(). This returns a - FormattingResults object where you can lookup the number of pages produced. It also gives you the - page-sequences that were produced along with their id attribute and their number of pages. This is particularly useful if you - render multiple documents (each enclosed by a page-sequence) and have to know the number of pages - of each document. - -
- -

-In the directory xml-fop/docs/examples/embedding you can find a working -example how to use Fop in a servlet. You can drop the fop.war into the -webapps directory of Tomcat, then go to a URL like this: -

-

http://localhost:8080/fop/fop?fo=/home/path/to/fofile.fo

-

http://localhost:8080/fop/fop?xml=/home/path/to/xmlfile.xml&xsl=/home/path/to/xslfile.xsl

-

You can also find the source code there in the file FopServlet.java

-

- To compile this code you will need servlet_2_2.jar (or compatible), fop.jar and the sax api in your classpath. -

-

- Some browsers have problems handling the PDF result sent back to - the browser. IE is particularly bad and different versions behave - differently. Having a ".pdf" on the end of the url may help. -

-
-
- -
- diff --git a/docs/xml-docs/fop/examples.xml b/docs/xml-docs/fop/examples.xml deleted file mode 100644 index 0b63113fb..000000000 --- a/docs/xml-docs/fop/examples.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - -

Examples for the use of xsl:fo can be found in the Fop distribution in - the subdirectory xml-fop/docs/examples/fo. You can start transformation of all fo files into pdf - files by starting xml-fop/docs/examples/runtests (only source distribution). The resulting test - files can be found in xml-fop/docs/examples/tests -

-

At the moment the following files are part of the distribution:

- -

Developers will find the first steps to a test suite for all implemented formatting objects and - properties in xml-fop/test/xml/.

- -
- diff --git a/docs/xml-docs/fop/extensions.xml b/docs/xml-docs/fop/extensions.xml deleted file mode 100644 index 90b6d5e8f..000000000 --- a/docs/xml-docs/fop/extensions.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - -

Sometimes it is desirable to have extensions to xsl:fo in order to support some feature of the - output format which isn't covered by the xsl:fo specification. -

- -

-These extension are available by default. They are automatically loaded -and you only need to provide the correct namespace for your embedded -xml markup. -

- -

-Please see the SVG page for more details. -

-
- -

To use this standard Fop extension, you need to add a namespace entry for - http://xml.apache.org/fop/extensions on the root element.

- -

You can provide outlines inside the root object (but outside - any page-sequences or - other formatting objects). Here's an example of an outline entry:

- - - - Running FOP - - - Prerequisites - - -]]> -

It works similarly to a basic-link. There is also an external-destination - property, but it isn't supported currently. See the pdfoutline.fo file in - docs/examples/fo for a more complete example.

-
-
- -

-To add your own extension you need to do the following things. -

-

-Write code that implements your extension functionality. -The easiest place to start is by looking at the code in org.apache.fop.extension. -

-

-Create a jar file with your classes, it must also include the following file "/META-INF/services/org.apache.fop.fo.ElementMapping". In this file you need to put the fully qualified classname of your element mappings class. This class must implement the "org.apache.fop.fo.ElementMapping" interface. -

-

-Create your fo file with the extra xml data embedded in the file with the correct name space. The examples for svg and pdfoutline.fo show how this can be done. -

-

-Put your jar file in the classpath and then run fop over the fo file. -

- -
-
- diff --git a/docs/xml-docs/fop/faq.xml b/docs/xml-docs/fop/faq.xml deleted file mode 100644 index e09deaa27..000000000 --- a/docs/xml-docs/fop/faq.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - About the FAQ - -

- Here we have some answers to common questions about FOP. This only covers - general information about getting started with FOP and pointers to more - information. -

-

-For up to date information or more details please visit the Fop FAQ site. -http://www.OWAL.co.uk/cgi-bin/fopfaq.cgi -

-

-Any problems with the FAQ itself or new answers for the FAQ should be mailed -to info@OWAL.co.uk -

-

-More general questions about FOP should be directed to one of the mailing -lists. -

-
-
- - What is FOP? - -

- FOP is a print formatter for XSL formatting objects. -

-

- It can be used to render an XML file containing XSL formatting objects - into a page layout. The main target is PDF but other rendering targets - are supported, such as AWT, PCL, text and direct printing. -

-
-
- - How does FOP interact with other Apache Projects? - -

- FOP is distributed with Cocoon as a PDF serializer for XSL (FO) documents. -

-

- Batik can be used with FOP to transcode an SVG image into a PDF document. - The mime type for PDF is "application/pdf". -

-
-
- - - What is XSL (FO)? - -

-XSL is an XML format that is used to specify a pagination and other -styling for page layout output. XSL can be used in conjunction with -XSLT to convert from any XML format into a paginated layout ready for -printing or displaying. -

-

-XSL defines a set of formatting objects in xml that describes the -way pages are set up. The contents of the pages are filled from -flows which. There can be static flows that appear on every page -and the main flow which fills the body of the page. -

-
-
- - - What can I do with FOP? - -

-FOP is an application or library that converts an XSL FO document -into the paginated output. It is possible to render the output -to different targets, the main target is PDF. FOP can be run from -the command line or embedded into your Java application. -

-

-The XSL FO can be delivered to FOP with XML(XSL FO), XML+XSL or -SAX events. -

-
-
- - - How can I contribute? - -

-There is always plenty of things to do. -

-
-
- - - How do I author XSL documents? - -

-Often XSL FO is created from XML and XSLT. There are some -standard XML markups such as Docbook that can be converted -into XSL FO and other XML formats. -

-

-There are some XSL authoring tools that may help you to -author XSL FO documents or the XML and XSLT documents. -

-
-
- - - How can I insert special character "X"? - -

-All the characters you need are available at -http://www.unicode.org/charts/. -If you need a character it will be there. Once you have found the hex -or decimal code for the character then you can use this in you xml -document. It will be in the form &#<decimal value>; or -&#x<hex value>;. -

-

-You must have a font that supports the character you need otherwise -it will replace it with a "#" in the output. -

-
-
- - - How can I see a demo? - -

- There will be a Java Webstart demo sometime in the future. -This will use the AWT viewer to display FO documents. -

-
-
- -
- diff --git a/docs/xml-docs/fop/fonts.xml b/docs/xml-docs/fop/fonts.xml deleted file mode 100644 index 24a5438cd..000000000 --- a/docs/xml-docs/fop/fonts.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -

FOP (building PDF files) normally supports only the base 14 font package defined in the Adobe PDF specification. - That includes the following fonts: Helvetica, Times, Courier, Symbol and ZapfDingbats. -

-

Font support in FOP can be extended by the addition of font metric files (written in XML) created from Adobe - Type 1 fonts and Truetype fonts. No other font types (Type 3, etc.) are supported at this time. -

-

- The Font is simply embedded into the PDF file, it is not converted. -

-
- -

As mentioned above you need an XML file containing font metrics to be able to use an additional font. FOP - contains a tool that can generate such a font metrics file from a PFM file, which normally comes with the font file. -

- -

Run the class org.apache.fop.fonts.apps.PFMReader to generate the XML file. -

-

Windows:

-

- java -cp build\fop.jar;lib\xercesImpl-2.0.1.jar;lib\xml-apis.jar;lib\xalan-2.3.1.jar;lib\batik.jar - org.apache.fop.fonts.apps.PFMReader pfm-file xml-file -

-

Unix:

-

- java -cp build/fop.jar:lib/xercesImpl-2.0.1.jar:lib/xml-apis.jar:lib/xalan-2.3.1.jar:lib/batik.jar - org.apache.fop.fonts.apps.PFMReader pfm-file xml-file -

-

The tool will construct some values (FontBBox, StemV and ItalicAngle) based on assumptions and - calculations which are only an approximation to the real values. FontBBox and Italic Angle can be found in - the human-readable part of the PFB file. The PFMReader tool does not yet interpret PFB files, so if you want - to be correct, you may have to adjust the values in the XML file manually. The constructed values however - appear to have no visible influence. -

-
- -

- Edit conf/userconfig.xml and add entries for the font - if the fonts section, - ie: -

-

- - -]]> - -

-

- If you do not want the font embedded in the PDF then remove the - "embed-file" attribute. The PDF will then contain text using - the font with the font metrics and to view it properly the - font will need to be installed where it is being viewed. -

-

- Cocoon users will need to setup the config, see FOPSerializer - for more information. -

-
-
- -

Adding Truetype fonts is almost identical to the process of - adding type 1 fonts. The main difference is in the first - step.

- - -

As mentioned above you need an XML file containing font - metrics to be able to use an additional font. FOP contains - a tool that can generate such a font metrics file from - your truetype font file. -

-

- Create metrics for the fontfile (we assume the file has - the name cmr10.ttf and exists in c:\myfonts\): -

-

- java -cp build\fop.jar;lib\xercesImpl-2.0.1.jar;lib\xml-apis.jar;lib\xalan-2.3.1.jar;lib\batik.jar org.apache.fop.fonts.apps.TTFReader C:\myfonts\cmr10.ttf C:\myfonts\cmr10.ttf ttfcm.xml

-
- -

- TrueType collections (.ttc files) contains more than one - font. To create metrics for a ttc file you must specify - the font in the collection with the -ttcname option to - TTFReader. -

-

- To get a list of the fonts in a collection, just start the - TTFReader as if it were a normal truetype file (without - the -ttcname option). It will then display all the font - names and exit with an Exception... -

-

- Example on generating metrics for a .ttc file: -

-

- - java -cp build\fop.jar;lib\xercesImpl-2.0.1.jar;lib\xml-apis.jar;lib\xalan-2.3.1.jar;lib\batik.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" msmincho.ttc msminch.xml - -

-
- - -

- Same as for Type 1 fonts. -

-
- - -

- Font embedding is enabled in the userconfig.xml file. -

-
-
-

- Remember to start fop with -c conf/userconfig.xml -

-
diff --git a/docs/xml-docs/fop/gethelp.xml b/docs/xml-docs/fop/gethelp.xml deleted file mode 100644 index dc4a315c3..000000000 --- a/docs/xml-docs/fop/gethelp.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -
- How to Get Help - Solving problems - - -
- - - -
    -
  1. -

    Have a look at the documentation pages on this site. You can find information on how to run FOP, - how to embed it, how to add custom fonts etc.

    -
  2. -
  3. -

    Consult the FAQ to see if your question has already been answered before.

    -
  4. -
  5. -

    If you have a question concerning XSL:FO that is not related to FOP directly, please consult the various - resources on the net. See Resources for some interesting links.

    -
  6. -
  7. -

    Before you post your questions to one of the mailing lists, please search the mailing list archives, since it's - possible that your question has already been answered but it may not have found its way into the FAQ. You'll - find links to the mailing list archive in the Resources.

    -
  8. -
  9. -

    If you still can't solve your problem subscribe to FOP's user mailing list and post your question there. Please - don't forget to supply the version you're using, detailed error messages etc. This makes it easier to help you. - The instructions on how to subscribe can be found in the Resources

    -
  10. -
  11. -

    You should probably read ESR's -"How to Ask Questions the Smart Way"

    -
  12. - -

    Please don't use Bugzilla to post questions and please ask on the user mailing list first, if you think you've - found a bug.

    -
    -
-
- -
- diff --git a/docs/xml-docs/fop/implemented.xml b/docs/xml-docs/fop/implemented.xml deleted file mode 100644 index 805a53f50..000000000 --- a/docs/xml-docs/fop/implemented.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - -

The following formatting objects and properties of the XSL-FO 1.0 - W3C Recommandation are implemented. Please have also a look at the - section on limitations. -

-
- -

This section follows the table "B Formatting Object Summary" in the xsl:fo specification. At the - end of each sub-section you find listed what is not implemented.

- - -
    -
  • root
  • -
  • page-sequence
  • -
  • page-sequence-master
  • -
  • single-page-master-reference
  • -
  • repeatable-page-master-reference
  • -
  • repeatable-page-master-alternatives
  • -
  • conditional-page-master-reference
  • -
  • layout-master-set
  • -
  • simple-page-master
  • -
  • region-body
  • -
  • region-before
  • -
  • region-after
  • -
  • region-start
  • -
  • region-end
  • -
  • flow
  • -
  • static-content
  • -
-

Not implemented: declarations, color-profile, title

-
- - -
    -
  • block
  • -
  • block-container (limited)
  • -
-
- - -
    -
  • character
  • -
  • external-graphic
  • -
  • inline
  • -
  • instream-foreign-object
  • -
  • leader
  • -
  • page-number
  • -
  • page-number-citation, see limitations
  • -
-

Not implemented: bidi-override, initial-property-set, inline-container

-
- - -
    -
  • table
  • -
  • table-body
  • -
  • table-cell
  • -
  • table-column
  • -
  • table-footer
  • -
  • table-header
  • -
  • table-row
  • -
-

Not implemented: table-and-caption, table-caption

-
- - -
    -
  • list-block
  • -
  • list-item
  • -
  • list-item-body
  • -
  • list-item-label
  • -
-
- - -
    -
  • basic-link (internal and external)
  • -
-

Not implemented: multi-switch, multi-case, multi-toggle, - multi-properties, multi-property-set

-
- - -
    -
  • footnote
  • -
  • footnote-body
  • -
-

Not implemented: float

-
- - -
    -
  • wrapper
  • -
  • marker, retrieve marker
  • -
-
-
- - -

Property values can be computed. Compound properties are also understood by Fop.

-
    -
  • background-color
  • -
  • background-image
  • -
  • blank-or-not-blank
  • -
  • border-after-color
  • -
  • border-after-style
  • -
  • border-after-width
  • -
  • border-before-color
  • -
  • border-before-style
  • -
  • border-before-width
  • -
  • border-bottom
  • -
  • border-bottom-color
  • -
  • border-bottom-style
  • -
  • border-bottom-width
  • -
  • border-color (only one value allowed)
  • -
  • border-end-color
  • -
  • border-end-style
  • -
  • border-end-width
  • -
  • border-left
  • -
  • border-left-color
  • -
  • border-left-style
  • -
  • border-left-width
  • -
  • border-right
  • -
  • border-right-color
  • -
  • border-right-style
  • -
  • border-right-width
  • -
  • border-start-color
  • -
  • border-start-style
  • -
  • border-start-width
  • -
  • border-style
  • -
  • border-top
  • -
  • border-top-color
  • -
  • border-top-style
  • -
  • border-top-width
  • -
  • border-width
  • -
  • bottom
  • -
  • break-after
  • -
  • break-before
  • -
  • character
  • -
  • color
  • -
  • column-count
  • -
  • column-gap
  • -
  • column-width
  • -
  • country
  • -
  • end-indent
  • -
  • extent
  • -
  • external-destination
  • -
  • flow-name
  • -
  • font-family
  • -
  • font-size
  • -
  • font-style
  • -
  • font-weight
  • -
  • height
  • -
  • hyphenate
  • -
  • hyphenation-character
  • -
  • hyphenation-push-character-count
  • -
  • hyphenation-remain-character-count
  • -
  • id
  • -
  • initial-page-number
  • -
  • internal-destination
  • -
  • keep-with-next (broken)
  • -
  • language
  • -
  • leader-alignment (not value "page")
  • -
  • leader-length (see limitations)
  • -
  • leader-pattern (not value "use-content")
  • -
  • leader-pattern-width
  • -
  • left
  • -
  • letter-spacing
  • -
  • line-height
  • -
  • margin (only on pages and regions)
  • -
  • margin-bottom (only on pages and regions)
  • -
  • margin-left (only on pages and regions)
  • -
  • margin-right (only on pages and regions)
  • -
  • margin-top (only on pages and regions)
  • -
  • master-name
  • -
  • master-reference
  • -
  • maximum-repeats
  • -
  • number-columns-spanned
  • -
  • odd-or-even
  • -
  • padding (only one value allowed)
  • -
  • padding-after
  • -
  • padding-before
  • -
  • padding-bottom
  • -
  • padding-end
  • -
  • padding-left
  • -
  • padding-right
  • -
  • padding-start
  • -
  • padding-top
  • -
  • page-height
  • -
  • page-position
  • -
  • page-width
  • -
  • position (allowed values: "static" (default),"relative", "absolute", fixed )
  • -
  • provisional-distance-between-starts
  • -
  • provisional-label-separation
  • -
  • ref-id
  • -
  • region-name
  • -
  • right
  • -
  • rule-style
  • -
  • rule-thickness
  • -
  • space-after.optimum
  • -
  • space-before.optimum
  • -
  • span
  • -
  • src
  • -
  • start-indent
  • -
  • table-omit-footer-at-break
  • -
  • table-omit-header-at-break
  • -
  • text-align
  • -
  • text-align-last
  • -
  • text-decoration
  • -
  • text-indent
  • -
  • top
  • -
  • white-space-collapse
  • -
  • width
  • -
  • wrap-option
  • -
-

All other properties are not implemented.

-
- - -

-FOP uses Batik directly for its SVG support. Therefore FOP supports the same -elements and properties as are supported by Batik. As FOP is designed for -rendering to a static medium then only static SVG is rendered. -

-

-Due to some limitations in PDF some SVG images, particularly ones with effects -or transparency, may not come out correctly. The images should still be rendered -correctly for the AWT and Print renderers. -

-
-
- diff --git a/docs/xml-docs/fop/involved.xml b/docs/xml-docs/fop/involved.xml deleted file mode 100644 index bd57ed503..000000000 --- a/docs/xml-docs/fop/involved.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - -
- Getting Involved - How to Get Involved in FOP - - -
- - - -

-There are many different levels where people can get involved. The -development of FOP and the related plans and tasks are discussed on -the dev mailing list. Users can help or get issues resolved by -contributing information and examples to the developers. -

- - -

-At the moment Fop is mainly a tool to render XSL:FO files to pdf. -Therefore if you want to contribute to Fop you should become -familiar with these standards. You can find links under -Resources. -

-
- -

-The design for FOP is specified under the -Design section. -

-

-This is where the information on how FOP is developed and designed -internally will be kept. -

-
- - -

You can subscribe to fop-dev@xml.apache.org by sending an email - 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 - of the discussion list fop-dev to get an idea of the issues being discussed.

-
- -

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 - 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.

-

All changes to the code repository are sent to a special mailing list. After a cvs commit the diffs are automatically sent to this list. You can subscribe - to fop-cvs@xml.apache.org by sending an email to - fop-cvs-subscribe@xml.apache.org. If you want to contribute to the development of Fop you should subscribe, - because it is important that you follow changes being made.

-
- -

If you want to contribute code (p.e. a bugfix), a test or documentation (p.e. an additional example), please do the following:

-

1) Make sure your code doesn't break the existing one and that Fop still compiles.

-

2) Create a file which shows the differences to the existing code.

-

3) Send this file as an Attachment to fop-dev@xml.apache.org.

-

One of the committers will test your code and commit it to the code repository.

-

If you have a test or useful bug test you should read this page.

-

BTW: The Apache project knows different roles for contributors, namely 'users', 'developers', 'committers' and the 'Project - Management Committee' (An explanation of these roles can be found here).

-
- - -

As mentioned in Apache XML Project Guidelines, - all Java Language source code in the repository must be written in conformance to the - Code Conventions - for the Java Programming Language as published by Sun. Additionally we agreed on 4 - spaces (no tabs) for indenting.

-

If you don't like those conventions, just use your own standards while developing and reformat the source before - committing with a tool like astyle (Artistic Style). -

-
- -
- -
- diff --git a/docs/xml-docs/fop/layout.jpg b/docs/xml-docs/fop/layout.jpg deleted file mode 100644 index 3c519baa2..000000000 Binary files a/docs/xml-docs/fop/layout.jpg and /dev/null differ diff --git a/docs/xml-docs/fop/license.xml b/docs/xml-docs/fop/license.xml deleted file mode 100644 index 7d184fdef..000000000 --- a/docs/xml-docs/fop/license.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -

Copyright (C) 1999-2001 The Apache Software Foundation. All rights reserved.

-

Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met:

-

1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -

- -

2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -

- -

3. The end-user documentation included with the redistribution, if any, must - include the following acknowledgment: "This product includes software - developed by the Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowledgment may appear in the software itself, if - and wherever such third-party acknowledgments normally appear. -

- -

4. The names "FOP" and "Apache Software Foundation" must not be used to - endorse or promote products derived from this software without prior - written permission. For written permission, please contact - apache@apache.org. -

- -

5. Products derived from this software may not be called "Apache", nor may - "Apache" appear in their name, without prior written permission of the - Apache Software Foundation. -

-

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -

- -

- This software consists of voluntary contributions made by many individuals - on behalf of the Apache Software Foundation and was originally created by - James Tauber <jtauber@jtauber.com>. For more information on the Apache - Software Foundation, please see http://www.apache.org/. -

-
-
- diff --git a/docs/xml-docs/fop/limitations.xml b/docs/xml-docs/fop/limitations.xml deleted file mode 100644 index c2220c3be..000000000 --- a/docs/xml-docs/fop/limitations.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - -

FOP implements the fo objects and properties listed - in features, sometimes it does so only in a limited way. -

- - -

leader-length.minimum is not used at all

-
- - -

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 - appear exactly where you want it to. -

-
- - -

Padding works in conjunction with indents and spaces. It is only implemented - for blocks. At the moment padding can't be used to make extra space (indents+spaces - must be used), but only to control how much the background-color extends beyond - the content rectangle. -

-
- -

There two limitations for tables: 1) FOP needs you to explicitly specify column widths - 2) Cells have to contain block-level FOs. They can't contain straight character data. -

-

A working basic example of a table looks like this:

-

- - - - - - - text - - - text - - - - - text - - - text - - - - - text - - - text - - - -]]> -

-
- - -
diff --git a/docs/xml-docs/fop/news.xml b/docs/xml-docs/fop/news.xml deleted file mode 100644 index 501201d4c..000000000 --- a/docs/xml-docs/fop/news.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -
- News - - - -
- - -

- Changes since 0.20.3 include: -

-
    -
  • Support for background-image
  • -
  • - FOP should now work with any JAXP1.1 compliant - parser/transformer -
  • -
  • - The following JARs have been updated: Xerces to version - 2.0.1, Xalan to version 2.3.1 and Batik to version 1.5beta2. -
  • -
  • Fop has been compiled with Jimi support
  • -
  • - Logging has been changed from LogKit to Avalon's Logger - Interface -
  • -
  • New hyphenation patterns: turkish, portuguese and czech
  • -
  • FOP should now work on a EBCDIC machine
  • -
  • - Support for comma-separated values for the font-family - property -
  • -
  • Russian and Czech messages for AWTViewer
  • -
-

For details see CHANGES file:
http://cvs.apache.org/viewcvs.cgi/xml-fop/CHANGES?rev=1.10.2.21 -

-

- See also the full text of the announcement. -

-
- -

- See the full text of the announcement. -

-
- -

Welcome Jeremias Maerki, Joerg Pietschmann and Peter B. West!

-
- -

This is a maintenance release, the first version which supports the XSL-FO - Recommendation syntax. See the - - announcement for more information.

-
- - -
- diff --git a/docs/xml-docs/fop/output.xml b/docs/xml-docs/fop/output.xml deleted file mode 100644 index d58e5c1c9..000000000 --- a/docs/xml-docs/fop/output.xml +++ /dev/null @@ -1,219 +0,0 @@ - - - - - -
- Output - Notes about Output Formats: Renderers - - - - -
- - - -

-FOP supports a number of different output formats. This is achieved by -using different renderers that create the output. -

-

-Here we will explain some information for uses to be able to understand -what the renderers are doing and what difference there may be between -different renderers. -

- -

-Each renderer is given an area tree to render to its output format. -The area tree is simply a representation of the pages and the placement -of text and graphical objects on those pages. -

-

-The renderer will be given each page as it is ready and an output stream -to write the data out. The renderer is responsible for managing the -output format and associated data and flow. -

-

-Fonts and Layout - some formats (eg. PDF and AWT) rely on different -font information. The fonts for these outputs have different sizes -for the same point size. This means that the layout can be quite -different for the same fo document. -

-

-DPI - This is an important issue when creating output for printing. -The dpi is used to convert measurements into points. For example 1in -= 2.54cm = 72 points. It is also used when determining the size of -images and the rendering of certain graphics in the output. Currently -FOP uses a value of 72dpi. -

-

-You may want to send your output directly to a printer. The Print -renderer uses the java api to print the document or you might be -able to send the output stream directly to a printer. If your printer -supports postscript you could send the postscript to the printer. If -you have a printer that supports PCL you could stream the PCL document -to your printer. -On Windows: - -On UNIX: - -And give the OutputStream (out) to the PCLRenderer and it happily sends the -PCL to the AIX print queue. -

-
- -

-PDF is the best supported output format. It is also the most accurate -with text and layout. This creates a PDF document that is streamed out -as each page is rendered. This means that the internal page index -information is stored near the end of the document. -The PDF version supported is 1.3 which is currently the most popular -version for Acrobat Reader (4.0), PDF versions are forwards/backwards -compatible. -

-
- -

-This format is for the Hewlett-Packard PCL printers. -It should produce output as close to identical as possible to the -printed output of the PDFRenderer within the limitations of the -renderer, and output device. -

-

-The output created by the PCLRenderer is generic PCL 5 as documented -in the "HP PCL 5 Printer Language Technical Reference Manual" (copyright 1990). -This should allow any device fully supporting PCL 5 to be able to -print the output generated by the PCLRenderer. -

- -
    -
  • Text or graphics outside the left or top of the printable area are not rendered properly. In general things that should print to the left of the printable area are shifted to the right so that they start at the left edge of the printable area and an error message is generated.
  • -
  • The Helvetica and Times fonts are not well supported among PCL printers so Helvetica is mapped to Arial and Times is mapped to Times New. This is done in the PCLRenderer, no changes are required in the FO's. The metrics and appearance for Helvetica/Arial and Times/Times New are nearly identical, so this has not been a problem so far.
  • -
  • Only the original fonts built into FOP are supported.
  • -
  • For the non-symbol fonts, the ISO 8859/1 symbol set is used (PCL set "0N").
  • -
  • Multibyte characters are not supported.
  • -
  • SVG support is limited. Currently only lines, rectangles (may be rounded), circles, ellipses, text, simple paths, and images are supported. Colors are supported (dithered black and white) but not gradients.
  • -
  • Images print black and white only (not dithered). When the renderer prints a color image it uses a threshold value, colors above the threshold are printed as white and below are black. If you need to print a non-monochrome image you should dither it first.
  • -
  • Image scaling is accomplished by modifying the effective resolution of the image data. The available resolutions are 75, 100, 150, 300, and 600 DPI.
  • -
  • Color printing is not supported. Colors are rendered by mapping the color intensity to one of the PCL fill shades (from white to black in 9 steps).
  • -
  • SVG clipping is not supported.
  • -
-
- - -

There are some special features that are controlled by some public variables on the PCLRenderer class.

- -
-
orientation
-

The logical page orientation is controlled by the public orientation variable. Legal values are:

-
    -
  • 0 Portrait
  • -
  • 1 Landscape
  • -
  • 2 Reverse Portrait
  • -
  • 3 Reverse Landscape
  • -
-
-
curdiv, paperheight
-
The curdiv and paperheight variables allow multiple virtual pages to be printed on a piece of paper. This allows a standard laser printer to use perforated paper where every perforation will represent an individual page. The paperheight sets the height of a piece of paper in decipoints. This will be divided by the page.getHeight() to determine the number of equal sized divisions (pages) that will fit on the paper. The curdiv variable may be read/written to get/set the current division on the page (to set the starting division and read the ending division for multiple invocations).
-
topmargin, leftmargin
-
The topmargin and leftmargin may be used to increase the top and left margins for printing.
-
-
-
- -

-The PostScript renderer is still in its early stages and therefore still -missing some features. It provides good support for most text and layout. -Images and SVG are not fully supported, yet. Currently, the PostScript -renderer generates PostScript Level 3 with most DSC comments. Actually, -the only Level 3 feature used is FlateDecode, everthing else is Level 2. -

- -
    -
  • Images and SVG may not be display correctly. SVG support is far from being complete. No image transparency is available.
  • -
  • Character spacing may be wrong.
  • -
  • No font embedding is supported.
  • -
  • Multibyte characters are not supported.
  • -
  • PPD support is still missing.
  • -
  • The renderer is not yet configurable.
  • -
-
-
- -

-This is currently not integrated with FOP but it will soon. -This will create an rtf (rich text format) document that will -attempt to contain as much information from the fo document as -possible. -

-
- -

-This format creates an SVG document that has links between the pages. -This is primarily for slides and creating svg images of pages. -Large documents will create SVG files that are far too large for -and SVG viewer to handle. Since fo documents usually have text the -SVG document will have a large number of text elements. -The font information for the text is obtained from the jvm in the -same way as the AWT viewer, if the svg is view where the fonts are -different, such as another platform, then the page will appear wrong. -

-
- -

-This is for testing and verification. The XML created is simply -a representation of the internal area tree put into XML. It does -not perform any other purpose. -

-
- -

-It is possible to directly print the document from the command line. -This is done with the same code that renders to the AWT renderer. -

-
- -

-The AWT viewer shows a window with the pages displayed inside a -java graphic. It displays one page at a time. -The fonts used for the formatting and viewing depend on the fonts -available to your JRE. -

-
- -

-This format is the Maker Interchange Format which is used by -Adobe Framemaker. This is currently not fully implemented. -

-
- -

-Text as you could imagine does not work very well. It is an output format -that you should expect bad results. The main purpose of this is to get -a quick and dirty view of the document and the text inside it. -

-

-The TXTRenderer is a FOP renderer that produces plain ASCII text output -that attempts to match the output of the PDFRenderer as closely as -possible. This was originally developed to accommodate an archive system -that could only accept plain text files. Of course when limited to plain -fixed pitch text the output does not always look very good. -

-

-The TXTRenderer works with a fixed size page buffer. The size of this -buffer is controlled with the textCPI and textLPI public variables. -The textCPI is the effective horizontal characters per inch to use. -The textLPI is the vertical lines per inch to use. From these values -and the page width and height the size of the buffer is calculated. -The formatting objects to be rendered are then mapped to this grid. -Graphic elements (lines, borders, etc) are assigned a lower priority -than text, so text will overwrite any graphic element representations. -

-
- -
- -
- diff --git a/docs/xml-docs/fop/readme.xml b/docs/xml-docs/fop/readme.xml deleted file mode 100644 index 1bdaffac6..000000000 --- a/docs/xml-docs/fop/readme.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - -
- FOP - XSL Formatter - Renderer in Java - - -
- - - -

-

-

-

FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting - objects and the world's first output independent formatter. It is a - Java application that reads a formatting object tree and then - renders the resulting pages to a specified output. Output formats - currently supported are PDF, PCL, PS, SVG, XML (area tree representation), - Print, AWT, MIF and TXT. - The primary output target is PDF. -

-

-

-

-

The latest version of Fop is 0.20.4 and it supports the - XSL-FO Version 1.0 - W3C Recommendation. - 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 - resources section. 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. - Here you can find information about using and developing with FOP. -

-

Users can subscribe to fop-user@xml.apache.org by sending an email - to fop-user-subscribe@xml.apache.org - this is where user specific topics are discussed. -

- - - -

-

-

-

-This image is a demonstration of a two page document. The xml data on the left -is formatted into the two pages on the right. The document contains static areas -that appear on every page, an external graphic in this case an svg document. -There is a footnote on the first page and a table that goes across both pages. -

-

-The advantage of XSL is the ability to take an XML document and to format -the information into a page layout. The XML document can be generated -in any way, the most common would be to use XSLT. FOP takes the XML -and formats the data into pages. The pages are then rendered to the -requested output. -

-

-This is a real document. The image was created by rendering the document -to the svg renderer then putting the rendered pages into an svg document -along with the xml. -

- - -

The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic - conformance level described in the W3C Recommendation from 15 October 2001, and that complies with the 11 March 1999 Portable Document - Format Specification (Version 1.3) from Adobe Systems. -

- -

Conformance to the XML 1.0 Recommendation, XSLT 1.0 Recommendation and the XML Namespaces Recommendation is - understood. Other relevant documents, such as the XPath and XLink Working Drafts, are referenced as necessary. The FOP - Project will attempt to use the latest version of evolving specifications. -

- -

To reach this aim currently the layout system is being redesigned to -better handle the formatting of all different types of formatting objects. -

-
- - - - diff --git a/docs/xml-docs/fop/relnotes.xml b/docs/xml-docs/fop/relnotes.xml deleted file mode 100644 index cb7c2cc79..000000000 --- a/docs/xml-docs/fop/relnotes.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - -
- Release Notes - Fop 0.20.4 - Christian Geisert -
- - - -

Important changes since 0.20.3: -

    -
  • FOP should now work with any JAXP1.1 compliant parser/transformer. - It has been successfully tested with Xerces/Xalan, Saxon and JDK1.4 - (which includes Crimson and Xalan). -
  • -
  • The following JARs have been updated: - Xerces to version 2.0.1, Xalan to version 2.3.1 and Batik to version 1.5beta2. -
  • -
  • Fop has been compiled with Jimi support this time - but you still have to download - Jimi - and copy it to lib/ to get PNG support (no need to build FOP yourself though). -
  • -
  • Building FOP with JDK1.2 does not work. Running is ok except - support for additional truetype fonts in AWT Viewer. -
  • -
  • Logging has been changed from LogKit to Avalon's Logger Interface. - (see Embedding for details). -
  • -
  • Building under JDK 1.4: - You need to add a method in - src/org/apache/fop/svg/PDFGraphics2D.java - (search for jdk1.4 and remove the comments) -
  • -
  • To decrease the size of the distributions, ant, xml-docs, design-docs - and the hyphenation sources have been removed from the binary distribution. - Javadocs have been removed from the source distribution (use - build javadocs to generate them). -
  • -
  • Documentaion generation is broken in the maintenance branch at the moment - (Stylebook needs xerces1). The docs for this release are generated from the trunk. -
  • -
  • - For a more detailed list of changes, see the CHANGES file in the root of the FOP distribution. -
  • -
-

-
- - -

Important Information: -

    -
  • This version supports the - XSL-FO Version 1.0 - W3C Recommendation syntax. So don't forget to update your - Stylesheets: -

    Just rename the master-name property to master-reference - on fo:page-sequence, fo:single-page-master-reference, - fo:repeatable-page-master-reference and - fo:conditional-page-master-reference.

  • -
  • JDK 1.2 (or later) is required
  • -
  • Jimi has been removed for licensing reasons -

    If you need PNG support you have to download - Jimi, - copy it to lib/ and build FOP yourself

  • -
  • Building under JDK 1.4: -

    You need to add a method in - src/org/apache/fop/svg/PDFGraphics2D.java - (search for jdk1.4 and remove the comments) -

    -
  • -
  • -

    For a more detailed list of changes, see the CHANGES file in the root of the FOP distribution.

    -
  • -
-

-
- - -
- diff --git a/docs/xml-docs/fop/resources.xml b/docs/xml-docs/fop/resources.xml deleted file mode 100644 index fb39fed0d..000000000 --- a/docs/xml-docs/fop/resources.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -
- Resources - Resources useful for developing and using FOP - - -
- - - - - - -
    -
  • Send a mail to fop-user-subscribe@xml.apache.org - to subscribe (use - fop-user-digest-subscribe@xml.apache.org for digest). - This is where user specific topics are discussed. For detailed instructions on the subscription, see - Apache XML Mailing Lists.
  • -
  • The Mailing list ARChives (MARC) at the AIMS group: - fop-user - (searchable)
  • -
  • Apache archive of fop-user@apache.org
  • -
-
- -
    -
  • Send a mail to fop-dev-subscribe@xml.apache.org - to subscribe. (use - fop-dev-digest-subscribe@xml.apache.org for digest). - For detailed instructions on the subscription, see - Apache XML Mailing Lists.
  • -
  • The Mailing list ARChives (MARC) at the AIMS group: - fop-dev -
  • (searchable) -
  • Apache archive of fop-dev@apache.org
  • -
-
- -
    -
  • There is an XSL:FO mailing list: www-xsl-fo@w3.org. Subscription info can be found here: - http://www.w3.org/Mail/Request.
  • -
  • The archive can be found here: - http://lists.w3.org/Archives/Public/www-xsl-fo/
  • -
-
-
- -
    -
  • XSL-FO Recommendation (15 October 2001)
  • -
  • A dtd for the XSL-FO Recommendation provided by N. Grigoriev from RenderX
  • -
  • Supported SVG Recommendation (04 September 2001)
  • -
  • XML Recommendation
  • -
  • XSLT Recommendation
  • -
  • Portable Document Format (PDF) 1.4 Reference Manual
  • -
  • Simple API for XML (SAX)
  • -
  • Document Object Model (DOM)
  • -
  • Namespaces in XML Recommendation
  • -
  • Java JDK 1.3 Documentation
  • -
-
- -
    -
  • Elliotte Rusty Harold: Chapter 18 on xsl:fo from his excellent book XML Bible, Second Edition
  • -
  • Paul Sandoz: Using formatting objects with the slides dtd
  • -
  • J. David Eisenberg: Using XSL Formatting Objects
  • -
  • Miloslav Nic: XSL FO reference
  • -
  • Dave Pawson: An introduction to XSL Formatting Objects
  • -
-
- -
    -
  • -PJ is an open source product that can be used to modify PDF documents: -http://www.etymon.com/pj/index.html -
  • -
  • -iText is a library that can edit PDF files, it is possible to do -post processing of the generated PDF files: http://www.lowagie.com/iText/. -
  • -
-
-
- - -
- diff --git a/docs/xml-docs/fop/running.xml b/docs/xml-docs/fop/running.xml deleted file mode 100644 index 7931377d4..000000000 --- a/docs/xml-docs/fop/running.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - -

Following software must be installed:

-

a) Java 1.2.x or later

-

b) All libraries you need are part of the Fop distribution and - can be found in the xml-fop/lib directory. Look at the batch/shell script fop.bat/fop.sh - to see, how Fop can be invoked easily. These libraries are included: -

    -
  • An XML parser which supports SAX and DOM like - Xerces-J. - (Xerces is the default xml parser) -
  • -
  • An XSLT processor (Xalan is included) -
  • -
  • The SVG library batik.jar is the library from the batik project at xml.apache.org. -
  • -
-

-
- - -

Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-svg|-at|-print] <outfile>

-

[OPTIONS]
- - -d debug mode
- -x dump configuration settings
- -q quiet mode
- -c cfg.xml use additional configuration file cfg.xml
- -l lang the language to use for user information
-

-

[INPUT]
- - infile xsl:fo input file (the same as the next)
- -fo infile xsl:fo input file
- -xml infile xml input file, must be used together with -xsl
- -xsl stylesheet xslt stylesheet
-

- -

[OUTPUT]
- - outfile input will be rendered as pdf file into outfile
- -pdf outfile input will be rendered as pdf file (outfile req'd)
- -awt input will be displayed on screen
- -mif outfile input will be rendered as mif file (outfile req'd)
- -pcl outfile input will be rendered as pcl file (outfile req'd)
- -txt outfile input will be rendered as text file (outfile req'd)
- -svg outfile input will be rendered as an svg slides file (outfile req'd) - -at outfile representation of area tree as XML (outfile req'd) - -print input file will be rendered and sent to the printer
- see options with "-print help"
-

- -

[Examples]
- - Fop foo.fo foo.pdf
- Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)
- Fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf
- Fop foo.fo -mif foo.mif
- Fop foo.fo -print or Fop -print foo.fo
- Fop foo.fo -awt
-

-
- - -

If you have problems running FOP, please have a look at the "How to get Help" page.

-
-
- - - diff --git a/docs/xml-docs/fop/status.xml b/docs/xml-docs/fop/status.xml deleted file mode 100644 index e7e014492..000000000 --- a/docs/xml-docs/fop/status.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - -
- FOP Status - Current Status of FOP - - -
- - - -

[last updated 10th June 2002]

-

-

-

-

-This is the development status of FOP. A branch has been created for -maintenance releases while the development is done to address various -performance and design issues. -

- - - -

-Volunteers needed for: -

    -
  • configuration implementation
  • -
  • implement formatting objects and properties
  • -
  • AWT/Swing viewer design and implementation
  • -
  • documentation
  • -
  • MIF output
  • -
-... and plenty of other areas. See the todo -list for more details. -See ths Status for more information. -

-

-Development for 1.0DR1 is addressing the design issues for layout and -performance. The new design focusing on making it possible to be conformant -to the spec and be able to handle large documents. The development effort -is roughly 35% towards a developers release. -

-

-The developers release should have the following: similar functionality -to previous FOP releases, a rough API and a suitable design for -developers to work on more functionality. -

-

-The timing of these events depends on progress made so it is not possible -to predict any dates. -

-

Binaries

- - - - - - - -
fop.jar1,966 kb
hyphention (in fop.jar)717 kb
batik.jar2,164 kb
bsf.jar106 kb
xalan.jar883 kb
xerces.jar1,809 kb
- -

Lines of code using "find . -iname "*.java" | xargs cat | wc -l"

- - - - - - - -
org.apache.fop.*67076
org.apache.fop.fo.*15257 (23%)
org.apache.fop.layoutmgr.*4537 (7%)
org.apache.fop.area.*2314 (3.5%)
org.apache.fop.render.*6474 (10%)
org.apache.fop.pdf.*8113 (12%)
- -

Files using "find . -iname "*.java" | wc -l"

- - - - - - -
org.apache.fop.*462
org.apache.fop.fo.*127 (27%)
org.apache.fop.layoutmgr.*28 (6%)
org.apache.fop.area.*36 (8%)
org.apache.fop.render.*35 (8%)
- - -
- - -

-Latest maintenance release was FOP 0.20.3 on 4th March 2002. -See release notes for more -details. Releases will be made periodically to address minor bugs -and compatibility. -

- -

Binaries

- - - - - - - - -
fop.jar1,695 kb
hyphention (in fop.jar)746 kb
batik.jar2,164 kb
bsf.jar106 kb
xalan.jar906 kb
xercesImpl.jar1,729 kb
xml-apis.jar108 kb
- -

Lines of code using "find . -iname "*.java" | xargs cat | wc -l"

- - - - - - -
org.apache.fop.*69131
org.apache.fop.fo.*14916 (22%)
org.apache.fop.layout.*7108 (10%)
org.apache.fop.render.*15840 (23%)
org.apache.fop.pdf.*7883 (11%)
- -

Files using "find . -iname "*.java" | wc -l"

- - - - - - -
org.apache.fop.*391
org.apache.fop.fo.*119 (30%)
org.apache.fop.layout.*49 (13%)
org.apache.fop.render.*48 (12%)
org.apache.fop.pdf.*49 (13%)
- -
- - - diff --git a/docs/xml-docs/fop/svg.xml b/docs/xml-docs/fop/svg.xml deleted file mode 100644 index 934602192..000000000 --- a/docs/xml-docs/fop/svg.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -
- SVG - Embedding SVG in FOP - - -
- - - - - -

-FOP uses the SVG library from Batik to handle SVG. -This format can be handled as an fo:instream-foreign-object or in a separate -file referenced with fo:external-graphic. Either way the SVG document will be -read in and converted into a DOM in Batik. This DOM will then be used by the renderer to -create the graphical image. -

-

-The AWT and Print renderers simply use batik to draw the SVG into a graphic. -

-

-In the case of the PDF renderer there is a PDFGraphics2D class that Batik uses -to render the image into. This class converts the drawing instructions into -PDF markup which is placed into the current PDF document. -

-
- - -

-It is possible to convert a standalone SVG document directly into a simple page PDF document. -This is possible through the use of Batik's transcoder mechanism.
-java org.apache.batik.apps.rasterizer.Main -m application/pdf document.svg -
-This will output the svg document as "document.pdf" containing a PDF rendering of -the SVG file. -

-

-It is also possible to specify the width and/or height of the PDF document on the command line with -w and -h or if you are using the transcoder api you can use the transcoding hints. -

-

-Currently the SVG image is drawn at the SVG document size and simply scaled in PDF to the new size. So the result may not be the best possible. For example if you have any images or effects it will draw them at the original resolution of the svg document. When this is viewed in the pdf it will have an incorrect resolution for the size of the pdf. -

-

-The size of the pdf file will also remain the same regardless of what size the page is. -

-

-For more information see Batik for -how transcoders work. -

-
- - -

-The svg is inserted into PDF by using PDF commands to draw and fill -lines and curves. This means that the graphical objects created with -this remain as vector graphics. -

-

-There are a number of SVG things that cannot be converted directly into -PDF. Parts of the graphic such as effects, patterns and images are inserted -into the PDF as a raster graphic. The resolution of this graphic may not -be ideal depending on the FOP dpi (72dpi) and the scaling for that graphic. -This needs to be improved. -

-

-Another important note is that text is converted and drawn as a -set of shapes by batik. This means that a typical character will -have about 10 curves (each curve consists of at least 20 characters). -This can make the pdf files large and when the pdf is viewed the -viewer does not normally draw those fine curves very well (turning on -Smooth Line Art in the Acrobat preferences will fix this). -If the text is inserted into the PDF using the inbuilt text commands -for PDF it will use a single character. -

-

-It is possible to make sure that all text is drawn into PDF using the -PDF text commands by adding the following to the user config: - - strokeSVGText - false -]]> -

-

-The drawback from this is that all text will be confined to text that is -possible for PDF fonts (including embedded fonts) and implemented with -this workaround. The fonts available are the standard pdf fonts and any -fonts that you have embedded using FOP. The font sizes will be rounded -to an integer value. In future this will be improved. -

-

-Currently transparency is not supported in PDF so many svg images that -contain effects or graphics with transparent areas will not be displayed -correctly. -

-
- - -

-These are the relevant classes, found in the package org.apache.fop.svg : -

-

-

    -
  • PDFGraphics2D -
    -used for drawing onto a Graphics2D into an existing pdf document, used -internally to draw the svg. -
  • -
  • PDFDocumentGraphics2D -
    -used to create a pdf document and inherits from PDFGraphics2D to do the -rest of the drawing. Used by the transcoder to create a standalone pdf -document from an svg. Can be used independantly the same as any Graphics2D. -
  • -
  • PDFTranscoder -
    -used by Batik to transcode an svg document into a standalone pdf, via -PDFDocumentGraphics2D. -
  • -
-

- -
- -
- -
- diff --git a/docs/xml-docs/fop/testing.xml b/docs/xml-docs/fop/testing.xml deleted file mode 100644 index be3d62ac2..000000000 --- a/docs/xml-docs/fop/testing.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -

-Testing is an important part of getting FOP to operate correctly and conform to the -necessary standards. -

-

-A testing system has been set up that works with as a build target when developing -with FOP. A developer can run the tests after making changes to the code, the aim -is to have the tests run to verfiy that nothing working has been broken. -

-

-To setup the testing the developer must place a reference fop.jar in the -"<cvs_repository>/test/reference/" directory. This jar will be dynamically -loaded to create the reference output. -

-
- - -

-The testing is set up so that you can download the testsuite from -http://www.w3.org/Style/XSL/TestSuite/, -unzip the file into the base directory of FOP. -Then you can uncomment the lines in the build.xml file in the test target and it -will run through all the tests in the testsuite distribution. -

-
- - -

-A test belongs to one of a few catagories. A basic test should excercise one -element in a number of situations such as changing a property. This should have -at least one normal value, one border value and one invalid value. If the property -can be of different types then this should also be included. -

-

-A bug test is a test that is specifically aimed at a problem with FOP. That is, the test -is not excercising the specification but rather a problem with FOP in handling a particular -situation that is not exposed with the other testing. -

-

-A system test is one that tests the abitlity of FOP to handle a number of different -elements together. -

-

-A test can consist of a complete fo document or a part of the document such as -some elements that will be placed into the flow of a standard document. -

- -
- -

-If you have a test which you think would be useful you should supply the -test and a diff to the appropriate test suite xml file. Make sure that the -test works as would be expected against the current build. -

-
- - -

-The tests are stored in the "<cvs_repository>/test" directory. -

-

-You can run the tests by specifying the build target "test" ie:
-build.sh test -

-

-This will then compare the current code in the local src directory to a specified -release of FOP. Any differences between the current code and the output from -the reference version will be reported. If the test previously passed then the -test run will have failed. -

-

-The testing is done by reading a test suite xml file, which corresponds to the -standard testsuite.dtd supplied from w3c. This xml file contains a test xml -file and an xsl file (which may simply copy the file). It also contains information -such as if the test has passed and any comments. -

-

-For FOP the testing is done by rendering all the testing documents using the -XML renderer. The XML files are then compared to see if there are any differences. -

-
- - -

-The testing of SVG is not part of this testing system. SVG is tested for its rendering -accuracy by using the transcoding mechanism via Batik. So that the only part that needs -testing is how the SVG image is embedded inside the flow of the fo document. -

-
-
- diff --git a/docs/xml-docs/fop/title.jpg b/docs/xml-docs/fop/title.jpg deleted file mode 100644 index f7df45bf1..000000000 Binary files a/docs/xml-docs/fop/title.jpg and /dev/null differ diff --git a/docs/xml-docs/fop/todo.xml b/docs/xml-docs/fop/todo.xml deleted file mode 100644 index 98d551f87..000000000 --- a/docs/xml-docs/fop/todo.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - -
- TODO - TODO list for FOP - - -
- - - - - -

-Core Features - these are the areas that are important to getting fop -to be useable for general use. -

-

-Processing improvements - these are mainly things that can be improved -in the way fop works, eg. resources usage, pdf output etc. -

-

-Enhancements - these are added functionality that might be useful, no -comment is made about the suitability of these suggestions. -

-
- - -

-The design for the layout is being developed under the -Design section. -The details should be discussed on the dev mailing list. -

-
- -

-Currently all properties are in the xml file. We need to handle all default -values properly (including ones that change depending on the element) and -all possible values. -

-

-To see if a property is implemented then look in the src/codegen/foproperties.xml file. -

-

-To see if a particular element uses this property then look in the element code. This is generally found in the package org.apache.fop.fo.flow.*. -

-
- -

-This is support for the functions in property values that evaluate some -expression. -Better support for resolution including support for "inherit" and values -with lists. -

-
- -

-Better and more available examples for users and new people to get a -feel for what FOP does. -

-
-
- - -

-Needs to be a bit more solid. Images are not cached properly -and image formats are not well documented. -Allow for direct insertion of jpeg images in svg into the pdf. -

-
- -

-A better configuration setup that users can easily integrate. -

-
- -

-Support for streaming and linearized pdf to help with different -deployement of pdf documents. -

-
- -

-Use proper i18n handling for awt viewer. -

-
-
- - -

-Need better handling of font names, since a font can have several names. -

-
- -

-A user agent (or some similar thing) is needed to handle adjustable -values, such as setting dpi resolution. -

-
- -

-be able to specify a url as the input fo (or xml, xsl) documents. -

-
- -

-support (better) the direct rendering of text into pdf graphics -and other similair outputs -

-
- -

-Support for different encoding on different types of streams -in pdf document. -For example images and text. -

-
- -

-Add support for the pdf graphic state for use with transparency -in pdf 1.4. -

-
- -

-Currently patterns and gradients are not generated properly -

-
-
- - -
- -
- diff --git a/docs/xml-docs/fop/track.png b/docs/xml-docs/fop/track.png deleted file mode 100644 index 1d413334c..000000000 Binary files a/docs/xml-docs/fop/track.png and /dev/null differ