FOP is a Formatting Object Processor of the Apache project. It aims to provide a standards compliant implementation of XSL-FO. I am interested in this project, because it includes a new modern typesetting engine, which understands Unicode, has bidirectional writing capabilities, and implements a wide range of rendering formats.
I have written a documentation of FOP's design and implementation. On this page I make the HTML, XHTML and PDF versions available. The source files may be obtained from the FOP code repository. The copyright of the documentation is held by the Apache Software Foundation; the documentation is made available under the Apache License, Version 2.0.
FOP is a work in progress. Its code is under continuing development. This documentation describes the state of the code at the time the documentation was written. At the time you read this documentation the code may be different. Note also that different parts of the documentation were written or revised at different times.
FOP's Design and Implementation, in
In February 2004 a large number of hyphenation pattern files were removed from FOP's CVS repository due to licensing issues. These hyphenation patterns were contributed to FOP under licenses which allowed their free distribution, but under conditions which were felt to be in contradiction with the Apache license, under which FOP is distributed. Most files are licensed under the LaTeX Project Public License, which requires that no modified version be published under the name of the original source file. For details see the FOP wiki page.
The hyphenation pattern files for FOP are now made available by the project ‘Objects for Formatting Objects’ (offo). They can be downloaded from offo's project page.Simon Pepping, email: spepping at leverkruid.eu