Return-Path: X-Original-To: apmail-xmlgraphics-commits-archive@www.apache.org Delivered-To: apmail-xmlgraphics-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 504F6D03E for ; Tue, 23 Oct 2012 15:07:21 +0000 (UTC) Received: (qmail 2864 invoked by uid 500); 23 Oct 2012 15:07:21 -0000 Mailing-List: contact commits-help@xmlgraphics.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@xmlgraphics.apache.org Delivered-To: mailing list commits@xmlgraphics.apache.org Received: (qmail 2856 invoked by uid 99); 23 Oct 2012 15:07:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2012 15:07:21 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2012 15:07:16 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id A6AF22388C5D for ; Tue, 23 Oct 2012 15:05:57 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r835892 [14/17] - in /websites/staging/xmlgraphics/trunk/content: ./ batik/ batik/dev/ batik/tools/ batik/using/ batik/using/scripting/ commons/ fop/ fop/0.95/ fop/1.0/ fop/1.1/ fop/dev/ fop/dev/design/ fop/trunk/ Date: Tue, 23 Oct 2012 15:05:47 -0000 To: commits@xmlgraphics.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121023150557.A6AF22388C5D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: websites/staging/xmlgraphics/trunk/content/fop/fo.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/fo.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/fo.html Tue Oct 23 15:05:41 2012 @@ -331,10 +331,10 @@ $(document).ready(function () {

Basic Help for Using XML, XSLT, and XSL-FO$Revision: 1298724 $

-

Overview

+

Overview

Apache™ FOP uses XSL-FO as input. It is the responsibility of the user to make sure that the XSL-FO submitted to FOP is correct. The tutorial items presented here are not comprehensive, but are of the FAQ variety. Another good FAQ isDave Pawson's XSL FAQ.

-

XML Issues

-

Special Characters

+

XML Issues

+

Special Characters #

When entering special (non-ASCII) characters in XML, the general rule is to use the applicable Unicode character instead of trying to use a character entity as you would with HTML. Remember that HTML is an SGML document type. SGML has a limited character set, which requires it to use character entities to represent special characters. One of the improvements of XML over SGML (and thus HTML) is native support for Unicode. Basic XML has only a handful of character entities, primarily because it doesn't really need more.

Entities such as &uuml; (u with an umlaut), which work in HTML, will be flagged as undefined entities unless you define them yourself in your DTD. Use the corresponding Unicode character instead. A list of predefined HTML entities and their Unicode codepoints can be found at Character entity references in HTML 4 .

One common example is &nbsp; , used to obtain a non-breaking space in HTML. In XML, use   instead.

@@ -343,14 +343,14 @@ $(document).ready(function () { € Getting your XML correctly encoded is only part of the job. If you want the character to display or print correctly (and you probably do), then the selected font must contain the necessary glyph. Because of differences between font encoding methods, and limitations in some font technologies, this can be a troublesome issue, especially for symbol characters. The FOP example file Base-14 Font Character Mapping is a very useful resource in sorting these issues out for the Base-14 fonts. For other fonts, use font editing sofware or operating system utilities (such as the Character Map in most Windows platforms) to determine what characters the font supports.

An alternative to encoding the character and making it available through a font is to use an embedded graphic to represent the character: GIF, PNG, SVG, etc.

-

Entity Characters

+

Entity Characters #

The handful of basic XML character entities that do exist are the ampersand, apostrophe, less-than, greater-than, and single-quote characters. These are needed to distinguish markup tags from content, and to distinguish character entities from content. To avoid parser complaints about illegal characters and entities in your input, ensure that ampersands in text and attributes are written as &, "<" is written as <, and ">" as >. It is not necessary everywhere, but it is wise to do so anyway, just to be sure.

Most XML parsers will provide a line number and sometimes a column number for offending characters.

Review the XML Specification or a good tutorial for details of the XML file format.

-

Encoding Issues

+

Encoding Issues #

If the parser complains about illegal bytes or characters in the input, or there are unexpected characters in the output, this is usually the result of a character encoding problem. See the XSL FAQ for additional information. Many software packages that produce XML, including XSLT processors, use UTF-8 encoding as a default. If you view their output with something not aware of the encoding, like Notepad for Win95/98/ME/NT, funny characters are displayed. A � is a giveaway.

-

XSLT Issues

-

Current Date and Time

+

XSLT Issues

+

Current Date and Time #

XSL-FO does not currently have a function for retrieving the current date and time. However, in some cases, XSLT can be used to place the current date and time into the XSL-FO document as it is generated.

One possibility is to use theexslt date and time extension.

Another possibility is to use java or javascript (or perhaps some other language). Here is an example, using java, that works with Xalan. First, create the appropriate namespace: @@ -363,8 +363,8 @@ Next, use the java language to retrieve

-

XSL-FO Issues

-

Vertical Centering

+

XSL-FO Issues

+

Vertical Centering #

To vertically center an image, table, or other item, use display-align="center". See display-align Compliance for implementation status. Here is a small, self-contained document centering an image on a page: <?xml version="1.0"?> @@ -391,7 +391,7 @@ Next, use the java language to retrieve

-

Horizontal Centering (Tables)

+

Horizontal Centering (Tables) #

To center a table horizontally, one possibility is to add one column on the left and one on the right which pad the table so that the visible part is centered: <?xml version="1.0"?> @@ -419,9 +419,9 @@ Next, use the java language to retrieve If your table is more complicated, or if defining borders on individual cells becomes too much work, use the code above and nest your table within the middle cell.

-

Right-Aligning (Tables)

+

Right-Aligning (Tables) #

To right-align a table, you can use the same approach as above for centering tables. Just remove the last table-column element which causes all the left-over space not used by the columns with a fixed column-width to be assigned to the first column which effectively right-aligns the table.

-

Recto/Verso Static Content Differences

+

Recto/Verso Static Content Differences #

One frequent request is that static content be different between recto pages (right-side or odd-numbered pages typically) and verso pages(left-side or even-numbered pages typically). For example, you may wish to place the page number on the "outer" side of each page. There are examples in the FO distribution and in the XSL FAQ FO section .

First, define a page master with alternating pages masters for odd and even pages. Then specify appropriate regions in these page masters, giving them different names. Use these names to put different static content in these regions. Here is a self-contained demonstration: <?xml version="1.0"?> @@ -463,7 +463,7 @@ If your table is more complicated, or if

-

Making the First Page Special

+

Making the First Page Special #

To get a special header on the first page, one possibility is to insert it into the flow instead of the static content. Alternatively, use a page master referring to different page masters for the first page and the rest. Here is a code sample: <?xml version="1.0"?> @@ -505,7 +505,7 @@ If your table is more complicated, or if

-

Blank Pages

+

Blank Pages #

Sometimes it is desirable to insert blank pages within your output, starting, for example, a new chapter on an odd page or an even page. A blank page can be forced by using break-before="page-even" or similar properties, or by a force-page-count="end-on-odd" on a page sequence.

To write "This page is intentionally left blank" (or something similar) on an intentionally blank page, first define a conditional page master with a page master specific for blank pages. This allows you to specify static content for blank pages (by definition, a page is blank if no content from a flow is rendered on the page). Omit your normal headers and footers, and use (for example) an extended header to print the "..left blank" statement: <?xml version="1.0"?> @@ -547,9 +547,9 @@ If your table is more complicated, or if

-

Preformatting Content

+

Preformatting Content #

Sometimes it is desirable to retain linebreaks and hard spaces, and to get preformatted text to pass through without being changed. The XSL-FO specification provides some properties for this: white-space-collapse and linefeed-treatment . In FOP, use white-space-collapse="false" on an enclosing block.

-

Total Document Pages

+

Total Document Pages #

It is frequently desirable to know the total number of pages in a document and to use that number within the document. For example, you might wish to show the page number on the first page as being "page 1 of 12".

To accomplish this in XSL 1.0 , place an empty block with an id at the end of the flow: @@ -614,10 +614,10 @@ import javax.xml.transform.stream.; } Declare and use the parameter "page-count" in your XSLT. It is possible to run into a convergence problem with this solution. Replacing the "#" placeholder in the first run with the actual page count in the second run, may change the total number of pages in the document.

-

Aligning Regions

+

Aligning Regions #

Although it may seem counterintuitive, the regions on a page may overlap. Defining a certain body region does not automatically constrain other regions. Instead, this has to be done explicitly. Sometimes for creative reasons it may be desirable to have the regions overlap. Otherwise, you will want to set them up so that the header does not overlap body content or the body extend into the footer.

Assuming you wish to keep the regions separate, if you have a header region with an extent of 20mm, you should define a margin for the body region of at least 20mm too. Otherwise the header content may overwrite some stuff in the body region. This applies similarly to the extent of the after region and the bottom margin of the body region.

-

Drawing Lines

+

Drawing Lines #

It is frequently desirable to draw lines in a document, as separators, side bars or folding marks. There are several possibilities:

  • @@ -630,10 +630,10 @@ Declare and use the parameter "page-coun

    Insert a graphic. GIF, PNG SVG, whatever.

-

Validating XSL-FO

+

Validating XSL-FO #

RenderX has provided an Unofficial DTD for FO Documents , which may be helpful in validating general FO issues.

FOP also maintains an Unofficial FOP Schema in the FOP Subversion Repository. This document can be used either to validate against the FO standard, or against the actual FOP implementation. See the notes near the beginning of the document for instructions on how to use it.

-

Producing landscape pages

+

Producing landscape pages #

Pages in landscape format can easily be produced by exchanging the page-height and page-width values of a simple-page-master element. @@ -643,7 +643,7 @@ Declare and use the parameter "page-coun

-

External Resources

+

External Resources #

Resources needed by an XSL-FO file that are external to it (graphics, for example), are defined in the XSL-FO standard as being of type "uri-specification". This is defined in the standard atSection 5.11 Property Datatypes, which includes a link to the URI standard itself. Refer to the XSL-FO and URI standards themselves for more detailed instructions.

URIs may be either absolute or relative to a base URI. (See FOP: Configuration for information on setting the base URI for a FOP session). Here is an example referencing an external-graphic that is relative to the base URI: Modified: websites/staging/xmlgraphics/trunk/content/fop/gethelp.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/gethelp.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/gethelp.html Tue Oct 23 15:05:41 2012 @@ -332,27 +332,27 @@ $(document).ready(function () {

Checklist for Finding Appropriate Resources$Revision: 1298724 $

The Apache™ FOP developer community is eager to help you maximize the usefulness of FOP. However, to make wise use of its limited resources, support must be primarily self-service. Go through the following checklist sequentially to determine what kind of help you need, and where to get it:

-

Understand Underlying Technologies

+

Understand Underlying Technologies

If you have a questions about XML, XSLT, or XSL-FO that are not directly related to FOP, please consult resources that are appropriate for those questions. FOP is an implementation of these technologies, and when you use FOP, there is a presumption that you have a working understanding of them. We have included several useful links on our Resources page that may help you get started.

-

Understand FOP's Limitations

+

Understand FOP's Limitations

FOP is a work in progress, and has some limitations.

FOP does not yet fully comply with the W3C XSL-FO standard. The developers track which standard requirements have been implemented, and have documented these capabilities on the Compliance page. FOP has other limitations regarding specific output formats, graphic formats, etc. These limitations are noted in appropriate places in the documentation. If these documents appear to be in error, continue down this checklist so that either the document or the software can be corrected. Otherwise, please do not submit mailing list questions or bug reports regarding features documented in the standard, or documented as limitations in other parts of the documentation.

Please especially do not submit questions asking when a particular feature will be implemented. There are too many unknowns to make even a reasonable estimate. Every time a developer stops to answer such a question, the answer will inevitably be "I don't know", but the time taken to respond is time spent away from development. The only sure way to get a feature implemented is to pitch in and help .

-

Read the Documentation

+

Read the Documentation

Review the documentation pages on this site. There is information about how to run FOP, how to embed it, how to add custom fonts etc.

-

Check the FAQs

+

Check the FAQs

Consult the Frequently Asked Questions (FAQ) to see if your question has already been answered.

-

Review FOP User Mailing List Archive

+

Review FOP User Mailing List Archive

It is possible that your question has already been answered but has not yet found its way into the FAQ. Links to the FOP User mailing list archives are on the Mailing List page.

-

Look for an Existing Issue Report

+

Look for an Existing Issue Report

See Reported Issues for instructions on how to use the list of open issues. Review these open issues to see if any match your concerns. If so, please do not post a mailing list question or report another issue, as these will only slow the development team down.

-

Submit Question to FOP User Mailing List

+

Submit Question to FOP User Mailing List

See FOP User Mailing List for details. Please don't write to any developer directly. Only if you submit questions to the FOP User Mailing List will other FOP users be able to profit from answers given to your question. Another point is that a developer may have gone inactive or is on holidays in which case you may not get an answer in time.

-

Enter an Issue Report

+

Enter an Issue Report

If, and only if, you have followed all of the above steps, and believe that there is a bug or needed feature that you would like to report, please enter an issue in Bugzilla. Never use Bugzilla to post questions, only to enter issues that have already been asked on the user mailing list.

See Reporting New Issues for detailed instructions on how to enter an issue.

-

Find Out How You Can Help

+

Find Out How You Can Help

As stated above, the FOP development team is a limited resource. Most make their livings doing things other than writing and supporting FOP. Perhaps you need a feature from the XSL-FO standard to be implemented right away, or a bug fixed, or a new output format, or .... If so, there are several ways that you can help:

  • Modified: websites/staging/xmlgraphics/trunk/content/fop/index.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/index.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/index.html Tue Oct 23 15:05:41 2012 @@ -331,18 +331,18 @@ $(document).ready(function () {

    $Revision: 1298724 $

    -

    Introduction

    +

    Introduction

    Apache™ FOP (Formatting Objects Processor) is a print formatter driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PS, PCL, AFP, XML (area tree representation), Print, AWT and PNG, and to a lesser extent, RTF and TXT. The primary output target is PDF.

    The Apache™ FOP project is part of the Apache™ Software Foundation, which is a wider community of users and developers of open source projects.

    A stable release of the latest version of FOP ( 1.0 ) is available. It's the third stable release after the large redesign effort and implements a large subset of the XSL-FO Version 1.1 W3C Recommendation .

    Support for each of the standard's objects and properties is detailed in FOP Compliance . Download options include a precompiled version, source code, and many example files to get you started. Resources include links to XSL-FO introductions and many other useful references. A checklist for Getting Help will guide you toward maximizing the usefulness of FOP.

    FOP is proud to be part of Apache's XML Graphics project .

    -

    Demonstration

    +

    Demonstration

    This image is a demonstration of a real 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, a footnote on the first page, and a table that goes across both pages.

    FOP uses the standard XSL-FO file format as input, lays the content out into pages, then renders it to the requested output. One great advantage of using XSL-FO as input is that XSL-FO is itself an XML file, which means that it can be conveniently created from a variety of sources. The most common method is to convert semantic XML to XSL-FO, using an XSLT transformation.

    -

    FOP Objectives

    +

    FOP Objectives

    The goals of the Apache FOP project are to deliver an XSL-FO to PDF formatter that is compliant to at least the Basic conformance level described in the W3C Recommendation from 05 December 2006, and that complies with the November 2001 Portable Document Format Specification (Version 1.4) from Adobe Systems.

    Conformance to the XML 1.0 and 1.1 Recommendations, XSLT 1.0 and 2.0 Recommendations 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. The PDF files on this site are created using Apache FOP.

    Modified: websites/staging/xmlgraphics/trunk/content/fop/knownissues.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/knownissues.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/knownissues.html Tue Oct 23 15:05:41 2012 @@ -331,7 +331,7 @@ $(document).ready(function () {

    $Revision: 1298724 $

    -

    Known issues # {#Known+issues}

    +

    Known issues

    This page lists currently known issues in the Apache™ FOP codebase. Please note that this list is generated from data in FOP's code repository (Trunk) and may not exactly represent the list of issues in the latest release.

    For additional information on known issues in Apache FOP, please have a look at the following pages, too:

      @@ -343,11 +343,11 @@ $(document).ready(function () {

    Apache™ FOP has an extensive automated testing infrastructure. Parts of this infrastructure are several sets of test cases. When a test case is listed in disabled-testcases.xml it is disabled in the JUnit tests during the normal build process. This indicates a problem in the current codebase. When a bug is fixed or a missing feature is added the entry for the relevant test case(s) are removed.

    -

    FO Tree ## {#FO+Tree}

    +

    FO Tree #

    This section lists currently disabled test cases in the test suite for the FO tree tests. The data for this section comes from test/fotree/disabled-testcases.xml .

    demo-test-failure.fo (demo test failure):

    TODO: Add missing description in disabled-testcases.xml!

    from-table-column_marker.fo (Markers and core function evaluation):

    The code currently evaluates this function according to the column in which the marker appears in the source document, rather than the column it is retrieved in.

    -

    Layout Engine ## {#Layout+Engine}

    +

    Layout Engine #

    This section lists currently disabled test cases in the test suite for the layout engine tests. The data for this section comes from test/layoutengine/disabled-testcases.xml .

    block-container_space-before_space-after_3.xml (Auto-height block-containers produce fences):

    Block-containers with no height currently don't create a fence for spaces as they should (they behave like a normal block).

    block_font-stretch.xml (font-stretch NYI):

    Font-stretch is not implemented, yet.

    @@ -383,7 +383,7 @@ $(document).ready(function () {

    keep_within-page_multi-column_overflow.xml (Page-keep not respected in multi-column layout):

    The block should cause overflow in the last column on the page, rather than be broken.

    block-container_reference-orientation_bug36391.xml (Block Container Reference Orientation Bug):

    An assert is failing

    simple-page-master_writing-mode_rl_region-body_writing-mode-lr.xml (Writing mode problems):

    Test erroneously depends upon incorrect implementation of writing-mode trait derivation on fo:region-*.

    -

    Other known issues ## {#Other+known+issues}

    +

    Other known issues #

    This section lists other known issues.

    • Modified: websites/staging/xmlgraphics/trunk/content/fop/license.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/license.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/license.html Tue Oct 23 15:05:41 2012 @@ -331,7 +331,7 @@ $(document).ready(function () {

      $Revision: 1298724 $

      -

      License

      +

      License

      All new Apache™ FOP releases will be licensed under the Apache™ License, version 2.0 . Releases until version 0.20.5 are released unter the Apache™ License, version 1.1.

      To inspect the license terms please consult the LICENSE and NOTICE files in the root directory of the distribution. The full license text can also be accessed via the web from theApache Licenses page.

      Apache FOP comes with a number of libraries all of which are currently coming from within the Apache Software Foundation. These libraries are all licensed under one of the Apache License versions. There is one exception which is "xml-apis.jar" which contains code licensed by theW3C. Please consult the license files included with the libraries in the "lib" directory for details.

      Modified: websites/staging/xmlgraphics/trunk/content/fop/maillist.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/maillist.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/maillist.html Tue Oct 23 15:05:41 2012 @@ -331,7 +331,7 @@ $(document).ready(function () {

      $Revision: 1298724 $

      -

      General Information

      +

      General Information

      Before posting questions to any list:

      • @@ -348,9 +348,9 @@ $(document).ready(function () {

      For help in understanding email acronyms, see theLingo2Word Acronym List, or theKeno Internet Services Internet Glossary.

      -

      Apache™ FOP Users Mailing List

      +

      Apache™ FOP Users Mailing List

      Use this forum to discuss topics of interest to FOP users.

      -

      Archives

      +

      Archives #

      To review the archives, you have several options:

      • @@ -376,7 +376,7 @@ $(document).ready(function () { If you don't like mailing lists and prefer a forum-like system, have a look atGMANEorNabble. They allow you to post to the mailing list without having to subscribe.

      -

      Subscription Information

      +

      Subscription Information #

      -

      Submitting a Question

      +

      Submitting a Question #

      FOP support is primarily self-service . The FOP User Mailing List serves as a backup to the self-service documentation for cases where either the documentation is deficient or where users have unusual circumstances. FOP developers and users are happy to help answer questions that are appropriate to the forum (i.e. FOP-specific), and that are submitted after appropriate preparation . To ensure that your question is not abusive of this policy, please use the following checklist:

      • @@ -445,7 +445,7 @@ You can find the developer mailing list

        Are you attaching large PDF files or screen shots to your message? If so, please consider attaching a minimal, appropriate B&W GIF, JPG or PNG that conveys the necessary information instead. A good alternative is to put the files on a web server.

      -

      XSL-FO Mailing List (at W3C)

      +

      XSL-FO Mailing List (at W3C)

      Use this forum to ask general XSL-FO questions.

      • @@ -458,7 +458,7 @@ You can find the developer mailing list

        Subscription administration information can be found atW3C Mailing List Administrativia. After reviewing the instructions there, send your subscribe or unsubscribe request to www-xsl-fo-request@w3.org .

      -

      XSL-FO Mailing List (at YahooGroups)

      +

      XSL-FO Mailing List (at YahooGroups)

      Use this forum to ask general XSL-FO questions.

      • @@ -468,7 +468,7 @@ You can find the developer mailing list

        The home page for this groups isXSL-FO - discussion of XSL Formatting Objects.

      -

      XSLT List (Mulberry Tech)

      +

      XSLT List (Mulberry Tech)

      • Before posting questions to any list, see " General Information ".

        Modified: websites/staging/xmlgraphics/trunk/content/fop/news.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/news.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/news.html Tue Oct 23 15:05:41 2012 @@ -332,100 +332,100 @@ $(document).ready(function () {

        $Revision: 1298724 $

        RSS Feed:

        -

        24 Feb 2012: New committer

        +

        24 Feb 2012: New committer

        Welcome Glenn Adams!

        -

        17 Nov 2011: New committer

        +

        17 Nov 2011: New committer

        Welcome Mehdi Houshmand!

        -

        21 Jul 2010: Apache™ FOP 1.0 Released

        +

        21 Jul 2010: Apache™ FOP 1.0 Released

        The Apache™ FOP team is delighted to present you a production grade release of the new FOP codebase. This release contains many bug fixes and new features. See the Release Notes for a list of the most important changes.

        -

        14 Dec 2009: New committer

        +

        14 Dec 2009: New committer

        Welcome Pascal Sancho!

        -

        5 Aug 2008: Apache™ FOP 0.95 Released

        +

        5 Aug 2008: Apache™ FOP 0.95 Released

        The Apache™ FOP team is delighted to present you a production grade release of the new FOP codebase. This release contains many bug fixes and new features. See the Release Notes for a list of the most important changes.

        -

        16 Mar 2008: Apache™ FOP 0.95beta Released

        +

        16 Mar 2008: Apache™ FOP 0.95beta Released

        The Apache™ FOP team is delighted to present you a beta version of the next production grade release of the new FOP codebase. This release contains many bug fixes and new features. See the Release Notes for a list of the most important changes.

        -

        30 Oct 2007: New committer

        +

        30 Oct 2007: New committer

        Welcome Max Berger!

        -

        15 Oct 2007: New Committer

        +

        15 Oct 2007: New Committer

        Welcome Adrian Cumiskey!

        -

        24 Aug 2007: Apache™ FOP 0.94 Released

        +

        24 Aug 2007: Apache™ FOP 0.94 Released

        The Apache™ FOP team is pleased to present you the second production grade release of the new FOP codebase. This release contains many bug fixes and new features. See the Release Notes for a list of the most important changes.

        -

        26 Jan 2007: New Committer

        +

        26 Jan 2007: New Committer

        Welcome Jay Bryant!

        -

        9 Jan 2007: Apache™ FOP 0.93 released

        +

        9 Jan 2007: Apache™ FOP 0.93 released

        The Apache™ FOP team is proud to present to you the first production grade release of the new FOP codebase. This release has the new API first introduced in release 0.92 beta. It contains again many bug fixes and new features.

        -

        16 Oct 2006: New Committer

        +

        16 Oct 2006: New Committer

        Welcome Vincent Hennebert!

        -

        18 Apr 2006: Apache™ FOP 0.92 beta released

        +

        18 Apr 2006: Apache™ FOP 0.92 beta released

        A second "beta" grade release of the new FOP codebase with a modified and now considered stable API. The release contains many bug fixes as well as new features mainly related to even more extensive support of the XSL-FO specification. This is expected to be the last "beta" release before we go to a 1.0 release!

        -

        23 Dec 2005: Apache™ FOP 0.91 beta released

        +

        23 Dec 2005: Apache™ FOP 0.91 beta released

        One month after the initial release we're happy present a "beta" grade release of the new FOP codebase. It's mostly a bug fix release but also contains a few new features. Thanks to all those who sent us feedback on the initial release!

        -

        22 Nov 2005: Apache™ FOP 0.90 alpha 1 released

        +

        22 Nov 2005: Apache™ FOP 0.90 alpha 1 released

        The Apache™ FOP team is proud to present to you the largely rewritten codebase which is finally in a state where you can start to use it. It has taken over three years to get this far and over two years without a new release from the FOP project.

        Please see also the announcement .

        -

        8 Sep 2005: New Committer

        +

        8 Sep 2005: New Committer

        Welcome Manuel Mall!

        -

        20 Oct 2004: Creation of the Apache™ XML Graphics project

        +

        20 Oct 2004: Creation of the Apache™ XML Graphics project

        The Apache Board of Directors agreed to the creation of the Apache™ XML Graphics project which will be comprised of Batik and FOP. Both former Apache™ XML subprojects are in this way complying with the Board's desire to improve project oversight. Both project teams also see additional benefits of working more closely together.

        -

        8 Oct 2004: New Committer

        +

        8 Oct 2004: New Committer

        Welcome Luca Furini!

        -

        24 Apr 2004: New Committer

        +

        24 Apr 2004: New Committer

        Welcome Simon Pepping!

        -

        7 Mar 2004: New Committer

        +

        7 Mar 2004: New Committer

        Welcome Web Maestro Clay Leeds!

        -

        10 Jan 2004: New Committers

        +

        10 Jan 2004: New Committers

        Welcome Chris Bowditch and Andreas Delmelle!

        -

        4 Jan 2004: New Committer

        +

        4 Jan 2004: New Committer

        Welcome Finn Bock!

        -

        29 Nov 2003: New Committer

        +

        29 Nov 2003: New Committer

        Welcome Peter Herweg!

        -

        18 Jul 2003: Apache™ FOP 0.20.5 released

        +

        18 Jul 2003: Apache™ FOP 0.20.5 released

        Changes since 0.20.4 include:

          @@ -477,43 +477,43 @@ Changes since 0.20.4 include:

        See also the full text of the announcement .

        -

        29 Jun 2003: New Committer

        +

        29 Jun 2003: New Committer

        Welcome Glen Mazza!

        -

        23 May 2003: Apache™ FOP 0.20.5 Release Candidate 3 available

        +

        23 May 2003: Apache™ FOP 0.20.5 Release Candidate 3 available

        See the full text of the announcement .

        -

        18 Feb 2003: Apache™ FOP 0.20.5 Release Candidate 2 available

        +

        18 Feb 2003: Apache™ FOP 0.20.5 Release Candidate 2 available

        See the full text of the announcement .

        -

        2 Feb 2003: New XML PMC

        +

        2 Feb 2003: New XML PMC

        Jeremias Maerki and Peter B. West are now representing FOP on the XML PMC.

        -

        28 Jan 2003: FOP logo contest

        +

        28 Jan 2003: FOP logo contest

        We are looking for a new logo. FOP logo contest is started!

        -

        23 Dec 2002: Official FOP Wiki

        +

        23 Dec 2002: Official FOP Wiki

        See FOP project pages at the ApacheWiki.

        -

        10 Dec 2002: FOP 0.20.5 Release Candidate available

        +

        10 Dec 2002: FOP 0.20.5 Release Candidate available

        See the full text of the announcement .

        -

        23 Nov 2002: EXLSFO project has been created

        +

        23 Nov 2002: EXLSFO project has been created

        The EXSLFO project is a community effort to define functional extensions to thet XSL Formatting Objects specification. See the EXSLFO website for details.

        -

        22 Nov 2002: New Committer

        +

        22 Nov 2002: New Committer

        Welcome Victor Mote!

        -

        9 Nov 2002: New Committer

        +

        9 Nov 2002: New Committer

        Welcome Oleg Tkachenko!

        Modified: websites/staging/xmlgraphics/trunk/content/fop/quickstartguide.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/quickstartguide.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/quickstartguide.html Tue Oct 23 15:05:41 2012 @@ -331,7 +331,7 @@ $(document).ready(function () {

        Everything you need to start using and appreciating Apache™ FOP quickly.$Revision: 1298724 $

        -

        Apache™ FOP Essentials

        +

        Apache™ FOP Essentials

        The goal of this Quick Start Guide is to help novice users get Apache FOP up and running quickly. Typically, you'll need to:

        1. @@ -372,7 +372,7 @@ $(document).ready(function () {

      Once you've familiarized yourself with the basics, you can get more detailed information, in the detailed FOP product documentation .

      -

      Hello World with FOP

      +

      Hello World with FOP

      This section walks you through a "Hello World!" page with Apache FOP. We're assuming you download the binary distribution and that you have a Java Runtime Environment (version 1.4 or later) installed.

      1. Modified: websites/staging/xmlgraphics/trunk/content/fop/resources.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/resources.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/resources.html Tue Oct 23 15:05:41 2012 @@ -331,8 +331,8 @@ $(document).ready(function () {

        Resources useful for developing and using Apache™ FOP$Revision: 1298724 $

        -

        Specifications

        -

        XSL-FO

        +

        Specifications

        +

        XSL-FO #

        • XSL-FO Recommendation (05 December 2006)

          @@ -341,7 +341,7 @@ $(document).ready(function () {

          Unofficial DTD for the XSL-FO Recommendationprovided by N. Grigoriev from RenderX.

        -

        XSLT

        +

        XSLT #

        • XSLT 1.0 Recommendation

          @@ -350,7 +350,7 @@ $(document).ready(function () {

          XSLT 2.0 Recommendation

        -

        XML

        +

        XML #

        • XML 1.0

          @@ -377,7 +377,7 @@ $(document).ready(function () {

          Namespaces in XML 1.1

        -

        Java

        +

        Java #

        • Java 2 Platform, Standard Edition, v 1.4.2 API Specification

          @@ -389,20 +389,20 @@ $(document).ready(function () {

          Java Platform, Standard Edition 6 API Specification

        -

        PDF

        +

        PDF #

        • Portable Document Format (PDF) Reference Manual
        -

        Unicode

        +

        Unicode #

        • UTR-14 (Unicode Standard Annex #14: Line Breaking Properties)
        -

        Other

        +

        Other #

        • Supported SVG Recommendation (04 September 2001)
        -

        Books, Tutorials, Articles

        -

        XSL-FO

        +

        Books, Tutorials, Articles

        +

        XSL-FO #

        • [online book]The XML Bible, by Elliotte Rusty Harold. Chapter 18 of XSL Formatting Objects

          @@ -429,7 +429,7 @@ $(document).ready(function () {

          [book]Practical Formatting Using XSLFO, Crane Softwrights Ltd., 2003, ISBN 1-894049-11-X.

        -

        XSLT

        +

        XSLT #

        • [online resource]Extensible Stylesheet Language Family (XSL), W3C XSL Family page.

          @@ -459,7 +459,7 @@ $(document).ready(function () {

          [book]Java and XSLT, by Eric M. Burke, O'Reilly & Associates, 2001, ISBN 0-596-00143-6.

        -

        XML

        +

        XML #

        • [online book]The XML Bible, by Elliotte Rusty Harold. See hardcopy version below.

          @@ -471,11 +471,11 @@ $(document).ready(function () {

          [online resource] A great number of additional XML-related books and articles can be found at theO'Reilly XML Site.

        -

        Java

        +

        Java #

        • [online resource] A great number of Java-related books and articles can be found at theO'Reilly Java Site.
        -

        PDF

        +

        PDF #

        • [online resource] Links to the various PDF file format specifications and numerous other documents can be found at Adobe Solutions Network, Acrobat Resources,Acrobat 5.0 SDK Documentation.

          @@ -487,7 +487,7 @@ $(document).ready(function () {

          [online resource] A list of Acrobat and PDF developer resources can be found at Adobe Solutions Network, Acrobat Resources,Resources for Developers.

        -

        PostScript

        +

        PostScript #

        • [online resource] A list of PostScript-related technical resources can be found at Adobe Solutions Network,PostScript Language Technical Notes

          @@ -496,7 +496,7 @@ $(document).ready(function () {

          [online resource] Additional PostScript-related developer resources can be found at Adobe Solutions Network,PostScript SDK Archive.

        -

        Mailing Lists

        +

        Mailing Lists

        Before posting questions to any list:

        • @@ -513,7 +513,7 @@ $(document).ready(function () {

        For help in understanding email acronyms, see the Lingo2Word Acronym List , or the Keno Internet Services Internet Glossary .

        -

        Apache FOP Mailing List

        +

        Apache FOP Mailing List #

        • [mailing list info]http://xml.apache.org/fop/maillist.html

          @@ -555,7 +555,7 @@ $(document).ready(function () {

          [fop-dev-unsubscribe]fop-dev-unsubscribe@xmlgraphics.apache.org

        -

        XSL-FO Mailing List (at W3C)

        +

        XSL-FO Mailing List (at W3C) #

        • [mailing list info]http://www.w3.org/Mail/Request

          @@ -564,16 +564,16 @@ $(document).ready(function () {

          [mailing list archives]http://lists.w3.org/Archives/Public/www-xsl-fo/

        -

        XSL-FO Mailing List (at YahooGroups)

        +

        XSL-FO Mailing List (at YahooGroups) #

        • [mailing list info & archives]http://groups.yahoo.com/group/XSL-FO
        -

        XSLT List (Mulberry Tech)

        +

        XSLT List (Mulberry Tech) #

        • [mailing list info & archives]http://www.mulberrytech.com/xsl/xsl-list
        -

        Related/Useful Products

        -

        FOP add-ons

        +

        Related/Useful Products

        +

        FOP add-ons #

        • [software] TIFFRenderer is a renderer for outputting multi-page TIFF:http://www.tkachenko.com/fop/tiffrenderer.html(MPL)

          @@ -594,7 +594,7 @@ $(document).ready(function () {

          [software & tools]Objects For Formatting Objectshosts hyphenation patterns and (eventually) files other accessory data files & scripts.

        -

        PDF post-processors

        +

        PDF post-processors #

        • [software]Apache PDFBox(Apache License V2.0)

          @@ -609,7 +609,7 @@ $(document).ready(function () {

          [software]pdftkthe pdf toolkit

        -

        XSL-FO editors

        +

        XSL-FO editors #

        • [software]FOA (Formatting Objects Authoring)(MPL)

          @@ -624,7 +624,7 @@ $(document).ready(function () {

          [software]DIGIFORMS Document Designerby Metafocus (commercial)

        -

        Other products

        +

        Other products #

        • [software]FOraya renderer for converting XML files to PDF via XSL Formatting Object elements (FOP fork)

          Modified: websites/staging/xmlgraphics/trunk/content/fop/status.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/status.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/status.html Tue Oct 23 15:05:41 2012 @@ -331,14 +331,14 @@ $(document).ready(function () {

          Current Status of Apache™ FOP$Revision: 1298724 $

          -

          Status

          +

          Status

          [last updated 5 July 2010]

          Apache™ FOP version 0.95 was released on 5 August 2008. Apache™ FOP version 1.0 was released on 21 July 2010.

          -

          Development Status # {#Development+Status}

          +

          Development Status

          The FOP code base is gradually evolving, from version 0.90 released on 22 November 2005, to version 1.0 released on 21 July 2010. Further releases in the 1.x series may be expected.

          FOP releases before version 0.90 were based on a different code base. The last release in that series was version 0.20.5, released on 18 July 2003. This series is no longer maintained.

          If you're looking for a long-term road-map we have to disappoint you. This is Open Source and we're mostly volunteers working in their free time. What we have is an idea where we want to go. How fast we get there depends on the available time, on how well our ideas work out while developing and on you! There's a document in the Wiki where ideas for new developments may be registered and documented.

          -

          Status of the individual components

          +

          Status of the individual components #

          Not all the components of FOP currently have the same quality. The following table tries to give you an overview:

          Modified: websites/staging/xmlgraphics/trunk/content/fop/team.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/team.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/team.html Tue Oct 23 15:05:41 2012 @@ -332,7 +332,7 @@ $(document).ready(function () {

          $Revision: 1298724 $

          All lists on this page are in alphabetical order. Some of them may be incomplete. If you know of an error or omission, please send a message to the fop-dev mailing list.

          -

          Active Committers

          +

          Active Committers

          Please don't write to any developer directly if you need help on using FOP. Only if you submit questions to the FOP User Mailing List will other FOP users be able to profit from answers given to your question. Another point is that a developer may have gone inactive or is on holidays in which case you may not get an answer in time.

          • @@ -372,7 +372,7 @@ $(document).ready(function () {

            Pascal Sancho (PS) is an XML developper from Aix-en-Provence (France). He works on software solutions for rendering various kind of documents on various supports, more specifically taking care of PDF generation with FOP.

          -

          Active Contributors

          +

          Active Contributors

          • Georg Datterl is a software developer from Austria, currently working for Geneon media solutions gmbh in Nuremberg, Germany. He needs FOP to wrestle gigabytes of electronic data into thousands of printed pages.

            @@ -384,9 +384,9 @@ $(document).ready(function () {

            Vanukuri Venkat Reddy is a Senior Software Engineer in UK, using XML Graphics Project and FOP for his work, and is committed to contributing more to the Apache to be part a great team.

          -

          Founder

          +

          Founder

          FOP was originally created and donated to the Apache Software Foundation by James Tauber . Information about him can be found athis website.

          -

          Inactive Committers

          +

          Inactive Committers

          • Max Berger (MB)

            Modified: websites/staging/xmlgraphics/trunk/content/fop/trunk/accessibility.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/trunk/accessibility.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/trunk/accessibility.html Tue Oct 23 15:05:41 2012 @@ -330,7 +330,7 @@ $(document).ready(function () {
            -

            Overview

            +

            Overview

            This page describes the accessibility features of Apache™ FOP. Section 508 defines accessibility in the context of electronic documents for the USA but other countries have similar requirements.

            Accessibility features are available only for the PDF output format and there are some implementation limitations. Also, certain actions must be undertaken by the content creator to ensure that FOP can create a truly accessible document.

            Enabling accessibility

            @@ -351,7 +351,7 @@ $(document).ready(function () {

            When accessibility is enabled, additional information relating to the logical structure of the document is added to the PDF. That information allows the PDF viewer (or a text-to-speech application) to retrieve the natural reading order of the document. The processing of the logical structure is memory-hungry. You may need to adjust the Java heap size in order to process larger files.

            -

            Changes to your XSL-FO input files

            +

            Changes to your XSL-FO input files

            Apache FOP cannot automatically generate accessible PDFs. Some of the work can only be performed by the content provider. Following are some changes that may be necessary to your XSL-FO content in order to generate really accessible documents:

            • @@ -367,7 +367,7 @@ The processing of the logical structure

              Specify the natural language of the document using the language and country properties (or via the xml:lang shorthand property).

            -

            Customized Tagging

            +

            Customized Tagging

            The PDF Reference defines a set of standard Structure Types to tag content. For example, ‘P’ is used for identifying paragraphs, ‘H1’ to ‘H6’ for headers, ‘L’ for lists, ‘Div’ for block-level groups of elements, etc. This standard set is aimed at improving interoperability between applications producing or consuming PDF.

            FOP provides a default mapping of Formatting Objects to elements from that standard set. For example, fo:page-sequence is mapped to ‘Part’, fo:block is mapped to ‘P’, fo:list-block to ‘L’, etc.

            You may want to customize that mapping to improve the accuracy of the tagging or deal with particular FO constructs. For example, you may want to make use of the ‘H1’ to ‘H6’ tags to make the hierarchical structure of the document appear in the PDF. This is achieved by using the role XSL-FO property:

            @@ -514,9 +514,9 @@ The processing of the logical structure
          -

          Testing

          +

          Testing

          Accessible PDFs can be tested, for example, using Adobe Acrobat Professional. Its Accessibility Check feature creates a report indicating any deficiencies with a PDF document. Alternatively, you can just let a screen reader read the document aloud.

          -

          Limitations

          +

          Limitations

          Accessibility support in Apache FOP is relatively new, so there are certain limitations. Please help us identify and close any gaps.

          • @@ -532,7 +532,7 @@ The processing of the logical structure

            The side regions (region-before, region-after etc.) are currently not specially identified. Screen readers may read their content at page changes.

          -

          Related Links

          +

          Related Links

          Many resources providing guidance about creating accessible documents can be found on the web. Here are a few links, along with additional resources around the topic:

          • Modified: websites/staging/xmlgraphics/trunk/content/fop/trunk/anttask.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/trunk/anttask.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/trunk/anttask.html Tue Oct 23 15:05:41 2012 @@ -332,7 +332,7 @@ $(document).ready(function () {

            $Revision: 1298724 $

            Apache™ FOP provides an Ant task for automating the document build process.

            -

            Description

            +

            Description

            The FOP Ant task will convert XSL-FO documents to PDF, PS, PCL etc. output (see Output formats for available formats).

            To call FOP tasks within Ant, first add a FOP task definition to your Ant build file. One method of defining the task is as follows:

            @@ -352,7 +352,7 @@ $(document).ready(function () { Then create FOP tasks within your Ant build file, using the FOP task parameters listed below. -# Parameters for FOP Ant task # {#parameters} +# Parameters for FOP Ant task Parameters specified as attributes| Attribute | Description | Required | |-----------|-------------|----------| @@ -374,7 +374,7 @@ Then create FOP tasks within your Ant bu |-----------|-------------|----------| | fileset | [FileSets](http://ant.apache.org/manual/CoreTypes/fileset.html) are used to specify multiple XSL-FO files to be rendered. | Yes, if no fofile attribute is supplied | -# Examples # {#examples} +# Examples The following example converts a single XSL-FO file to a PDF document: Modified: websites/staging/xmlgraphics/trunk/content/fop/trunk/compiling.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/trunk/compiling.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/trunk/compiling.html Tue Oct 23 15:05:41 2012 @@ -331,18 +331,18 @@ $(document).ready(function () {

            $Revision: 1298724 $

            -

            Do You Need To Build?

            +

            Do You Need To Build?

            Apache™ FOP snapshots are either pre-compiled binary or source. If you are using a binary snapshot, it is already built and there is no need to build it again. If you got the source code from a repository snapshot or via Subversion you will need to build FOP. See the Download Instructions for information about where to obtain binary or repository snapshots, and whether a binary or source snapshot is best for your needs.

            -

            Set Up Your Environment

            -

            JDK

            +

            Set Up Your Environment

            +

            JDK #

            Building FOP requires a minimum Java Development Kit (JDK/SDK) of 1.4 (A Java Runtime Environment is not sufficient).

            -

            CLASSPATH

            +

            CLASSPATH #

            There is generally no need to setup a classpath. All libraries needed to compile FOP are included in the source distribution and are referenced by the build script. You will only need to adjust the classpath if you build FOP in some other way. See the build script build.xml for details.

            -

            JAVA_HOME

            +

            JAVA_HOME #

            The build script uses Apache Ant , a popular Java-based build tool, which usually requires that the environment variable JAVA_HOME point to your local JDK root directory. This is true even if you use JDK 1.4 or above, which normally does not need this setting.

            -

            Apache Ant

            +

            Apache Ant #

            Apache Ant (Version 1.7 or later) must be installed in order to build FOP. Following best practices we don't include Ant with FOP anymore. You can find the instructions to install Ant in the Ant manual on the web.

            -

            Run the Build Script

            +

            Run the Build Script

            Change to the FOP root directory and build FOP by executing the build script (build.xml) using the "ant" command. The "ant" command is only available on your system if you've properly installed Apache Ant and added Ant's location to the PATH environment variable. The file build.xml in the FOP root directory is the blueprint that Ant uses for the build. It contains information for numerous build targets, many of which are building blocks to more useful target, and others which are primarily used by the FOP developers. You may benefit from looking through this file to learn more about the various build targets. To obtain a complete list of useful build targets: @@ -367,7 +367,7 @@ OR ant all To clean the build directory first: ant clean allIf you want to shorten the build time you can just call the "package" target which doesn't perform any automated tests during the build.

            -

            Troubleshooting

            +

            Troubleshooting

            If you have problems building FOP, please try the following:

            • Modified: websites/staging/xmlgraphics/trunk/content/fop/trunk/complexscripts.html ============================================================================== --- websites/staging/xmlgraphics/trunk/content/fop/trunk/complexscripts.html (original) +++ websites/staging/xmlgraphics/trunk/content/fop/trunk/complexscripts.html Tue Oct 23 15:05:41 2012 @@ -330,7 +330,7 @@ $(document).ready(function () {
              -

              Overview

              +

              Overview

              This page describes the complex scripts features of Apache™ FOP, which include:

              • @@ -346,7 +346,7 @@ $(document).ready(function () {

                Support for advanced number to string formatting.

              -

              Disabling complex scripts # {#Disabling+complex+scripts}

              +

              Disabling complex scripts

              Complex script features are enabled by default. If some application of FOP does not require this support, then it can be disabled in three ways:

              1. @@ -364,7 +364,7 @@ $(document).ready(function () {

              When complex scripts features are enabled, additional information related to bidirectional level resolution, the association between characters and glyphs, and glyph position adjustments are added to the internal, parsed representation of the XSL-FO tree and its corresponding formatted area tree. This additional information will somewhat increase the memory requirements for processing documents that use these features. A document author need not make explicit use of any complex scripts feature in order for this additional information to be created. For example, if the author makes use of a font that contains OpenType GSUB and/or GPOS tables, then those tables will be automatically used unless complex scripts features are disabled.

              -

              Changes to your XSL-FO input files

              +

              Changes to your XSL-FO input files

              In most circumstances, XSL-FO content does not need to change in order to make use of complex scripts features; however, in certain contexts, fully automatic processing is not sufficient. In these cases, an author may make use of the following XSL-FO constructs:

              • @@ -389,9 +389,9 @@ A document author need not make explicit

                Explicit join control characters: U+200C ZWNJ and U+200D ZWJ.

              -

              Authoring Details

              +

              Authoring Details

              The complex scripts related effects of the above enumerated XSL-FO constructs are more fully described in the following sub-sections.

              -

              Script Property

              +

              Script Property #

              In order to apply font specific complex script features, it is necessary to know the script that applies to the text undergoing layout processing. This script is determined using the following algorithm:

              1. @@ -402,7 +402,7 @@ A document author need not make explicit

              In case the automatic algorithm does not produce the desired results, an author may explicitly specify a script property with the desired script. If specified, it must be one of the four-letter script code specified in ISO 15924 Code List or in the Extended Script Codes table. Comparison of script codes is performed in a case-insensitive manner, so it does not matter what case is used when specifying these codes in an XSL-FO document.

              -

              Standard Script Codes

              +

              Standard Script Codes ##

              The following table enumerates the standard ISO 15924 4-letter codes recognized by FOP.

              @@ -542,7 +542,7 @@ A document author need not make explicit
              -

              Extended Script Codes

              +

              Extended Script Codes ##

              The following table enumerates a number of non-standard extended script codes recognized by FOP.

              @@ -626,7 +626,7 @@ A document author need not make explicit - + @@ -636,12 +636,12 @@ A document author need not make explicit
              ## Language Property## Language Property #

              Certain fonts that support complex script features can make use of language information in order for language specific processing rules to be applied. For example, a font designed for the Arabic script may support typographic variations according to whether the written language is Arabic, Farsi (Persian), Sindhi, Urdu, or another language written with the Arabic script. In order to apply these language specific features, the author may explicitly mark the text with a property.

              When specifying the language property, the value of the property must be either an ISO639-2 3-letter code or an ISO639-1 2-letter code . Comparison of language codes is performed in a case-insensitive manner, so it does not matter what case is used when specifying these codes in an XSL-FO document.

              -

              Writing Mode Property

              -

              Number Conversion Properties

              -

              Bidi Override Element

              -

              Bidi Control Characters

              -

              Join Control Characters

              -

              Supported Scripts

              +

              Writing Mode Property #

              +

              Number Conversion Properties #

              +

              Bidi Override Element #

              +

              Bidi Control Characters #

              +

              Join Control Characters #

              +

              Supported Scripts

              Support for specific complex scripts is enumerated in the following table. Support for those marked as not being supported is expected to be added in future revisions.

              @@ -793,9 +793,9 @@ A document author need not make explicit
              -

              Supported Fonts

              +

              Supported Fonts

              Support for specific fonts is enumerated in the following sub-sections. If a given font is not listed, then it has not been tested with these complex scripts features.

              -

              Arabic Fonts

              +

              Arabic Fonts #

              @@ -882,7 +882,7 @@ A document author need not make explicit
              -

              Devanagari Fonts

              +

              Devanagari Fonts #

              @@ -929,7 +929,7 @@ A document author need not make explicit
              -

              Other Limitations

              +

              Other Limitations

              Complex scripts support in Apache FOP is relatively new, so there are certain limitations. Please help us identify and close any gaps.

              • @@ -939,7 +939,7 @@ A document author need not make explicit

                Shaping context does not extend across an element boundary. This limitation prevents the use of fo:character , fo:inline or fo:wrapper in order to colorize individual Arabic letters without affecting shaping behavior across the element boundary.

              -

              Related Links

              +

              Related Links

              In addition to the XSL-FO specification, a number of external resources provide guidance about authoring documents that employ complex scripts and the features described above:

              • --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@xmlgraphics.apache.org For additional commands, e-mail: commits-help@xmlgraphics.apache.org