xmlgraphics-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r840266 - in /websites/staging/xmlgraphics/trunk/content: ./ fop/0.95/ fop/1.0/ fop/1.1/ fop/dev/ fop/dev/design/
Date Sat, 01 Dec 2012 06:46:27 GMT
Author: buildbot
Date: Sat Dec  1 06:46:26 2012
New Revision: 840266

Log:
Staging update by buildbot for xmlgraphics

Modified:
    websites/staging/xmlgraphics/trunk/content/   (props changed)
    websites/staging/xmlgraphics/trunk/content/fop/0.95/servlets.html
    websites/staging/xmlgraphics/trunk/content/fop/1.0/embedding.html
    websites/staging/xmlgraphics/trunk/content/fop/1.0/fonts.html
    websites/staging/xmlgraphics/trunk/content/fop/1.1/fonts.html
    websites/staging/xmlgraphics/trunk/content/fop/dev/design/embedding.html
    websites/staging/xmlgraphics/trunk/content/fop/dev/design/index.html
    websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html
    websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html

Propchange: websites/staging/xmlgraphics/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sat Dec  1 06:46:26 2012
@@ -1 +1 @@
-1415927
+1415928

Modified: websites/staging/xmlgraphics/trunk/content/fop/0.95/servlets.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/0.95/servlets.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/0.95/servlets.html Sat Dec  1 06:46:26 2012
@@ -342,10 +342,10 @@ $(document).ready(function () {
         </div>
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/0.95/">0.95</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk2-fop-servlets">Apache&trade; FOP: Servlets</h1>
-<p><subtitle>How to use Apache� FOP in a Servlet</subtitle><version>$Revision: 1298724 $</version></p>
-<h2 id="overview-wzxhzdk7wzxhzdk8">Overview <a id="overview"></a></h2>
+<p><subtitle>How to use Apache&trade; FOP in a Servlet</subtitle></p>
+<h2 id="overview-wzxhzdk6wzxhzdk7">Overview <a id="overview"></a></h2>
 <p>This page discusses topic all around using Apache&trade; FOP in a servlet environment.</p>
-<h2 id="example-servlets-in-the-fop-distribution-wzxhzdk10wzxhzdk11">Example Servlets in the FOP distribution <a id="example-servlets"></a></h2>
+<h2 id="example-servlets-in-the-fop-distribution-wzxhzdk9wzxhzdk10">Example Servlets in the FOP distribution <a id="example-servlets"></a></h2>
 <p>In the directory {fop-dir}/src/java/org/apache/fop/servlet, you'll find a working example of a FOP-enabled servlet.</p>
 <p>The servlet is automatically built when you build Apache FOP using the supplied Ant script. After building the servlet, drop fop.war into the webapps directory of Apache Tomcat (or any other web container). Then, you can use URLs like the following to generate PDF files:</p>
 <ul>
@@ -358,9 +358,9 @@ $(document).ready(function () {
 </ul>
 <p>The source code for the servlet can be found under {fop-dir}/src/java/org/apache/fop/servlet/FopServlet.java.
 This example servlet should not be used on a public web server connected to the Internet as it does not contain any measures to prevent Denial-of-Service-Attacks. It is provided as an example and as a starting point for your own servlet.</p>
-<h1 id="create-your-own-servlet-wzxhzdk12wzxhzdk13">Create your own Servlet <a id="servlet"></a></h1>
+<h1 id="create-your-own-servlet-wzxhzdk11wzxhzdk12">Create your own Servlet <a id="servlet"></a></h1>
 <p>This section assumes you are familiar with <a href="embedding.html">embedding FOP</a> .</p>
-<h2 id="a-minimal-servlet-wzxhzdk14wzxhzdk15">A minimal Servlet <a id="minimal-servlet"></a></h2>
+<h2 id="a-minimal-servlet-wzxhzdk13wzxhzdk14">A minimal Servlet <a id="minimal-servlet"></a></h2>
 <p>Here is a minimal code snippet to demonstrate the basics:
 private FopFactory fopFactory = FopFactory.newInstance();
 private TransformerFactory tFactory = TransformerFactory.newInstance();</p>
@@ -377,7 +377,7 @@ private TransformerFactory tFactory = Tr
         throw new ServletException(ex);
     }
 }There are numerous problems with the code snippet above. Its purpose is only to demonstrate the basic concepts. See below for details.</p>
-<h2 id="adding-xsl-tranformation-xslt-wzxhzdk16wzxhzdk17">Adding XSL tranformation (XSLT) <a id="xslt"></a></h2>
+<h2 id="adding-xsl-tranformation-xslt-wzxhzdk15wzxhzdk16">Adding XSL tranformation (XSLT) <a id="xslt"></a></h2>
 <p>A common requirement is to transform an XML source to XSL-FO using an XSL transformation. It is recommended to use JAXP for this task. The following snippet shows the basic code:
 private FopFactory fopFactory = FopFactory.newInstance();
 private TransformerFactory tFactory = TransformerFactory.newInstance();</p>
@@ -417,9 +417,9 @@ private TransformerFactory tFactory = Tr
 <p>The <code>Source</code> instance used above is simply an example. If you have to read the XML from a string, supply a <code>new StreamSource(new
           StringReader(xmlstring))</code> . Constructing and reparsing an XML string is generally less desirable than using a SAXSource if you generate your XML. You can alternatively supply a DOMSource as well. You may also use dynamically generated XSL if you like.</p>
 <p>Because you have an explicit <code>Transformer</code> object, you can also use it to explicitely set parameters for the transformation run.</p>
-<h3 id="custom-configuration-wzxhzdk18wzxhzdk19">Custom configuration <a id="cfg"></a></h3>
+<h3 id="custom-configuration-wzxhzdk17wzxhzdk18">Custom configuration <a id="cfg"></a></h3>
 <p>You can easily set up your own FOUserAgent as demonstrated on the <a href="embedding.html">Embedding page</a> .</p>
-<h3 id="improving-performance-wzxhzdk20wzxhzdk21">Improving performance <a id="performance"></a></h3>
+<h3 id="improving-performance-wzxhzdk19wzxhzdk20">Improving performance <a id="performance"></a></h3>
 <p>There are several options to consider:</p>
 <ul>
 <li>
@@ -430,7 +430,7 @@ private TransformerFactory tFactory = Tr
 </li>
 </ul>
 <p>Of course, the <a href="embedding.html#performance">performance hints from the Embedding page</a> apply here, too.</p>
-<h3 id="accessing-resources-in-your-web-application-wzxhzdk22wzxhzdk23">Accessing resources in your web application <a id="uriresolver"></a></h3>
+<h3 id="accessing-resources-in-your-web-application-wzxhzdk21wzxhzdk22">Accessing resources in your web application <a id="uriresolver"></a></h3>
 <p>Often, you will want to use resources (stylesheets, images etc.) which are bundled with your web application. FOP provides a URIResolver implementation that lets you access files via the Servlet's ServletContext. The class is called <code>org.apache.fop.servlet.ServletContextURIResolver</code> .</p>
 <p>Here's how to set it up in your servlet. Instantiate a new instance in the servlet's init() method:</p>
 <div class="codehilite"><pre><span class="sr">/** URIResolver for use by this servlet */</span>
@@ -470,7 +470,7 @@ Source xsltSrc = this.uriResolver.resolv
     "servlet-context:/xslt/mystylesheet.xsl", null);
 Transformer transformer = this.transFactory.newTransformer(xsltSrc);
 transformer.setURIResolver(this.uriResolver);</p>
-<h1 id="notes-on-microsoft-internet-explorer-wzxhzdk24wzxhzdk25">Notes on Microsoft Internet Explorer <a id="ie"></a></h1>
+<h1 id="notes-on-microsoft-internet-explorer-wzxhzdk23wzxhzdk24">Notes on Microsoft Internet Explorer <a id="ie"></a></h1>
 <p>Some versions of Internet Explorer will not automatically show the PDF or call the servlet multiple times. These are well-known limitations of Internet Explorer and are not a problem of the servlet. However, Internet Explorer can still be used to download the PDF so that it can be viewed later. Here are some suggestions in this context:</p>
 <ul>
 <li>
@@ -485,13 +485,13 @@ transformer.setURIResolver(this.uriResol
 <p>Cache in the server. It may help to include a parameter in the URL which has a timestamp as the value min order to decide whether a request is repeated. IEx is reported to retrieve a document up to three times, but never more often.</p>
 </li>
 </ul>
-<h2 id="servlet-engines-wzxhzdk26wzxhzdk27">Servlet Engines <a id="servlet-engine"></a></h2>
+<h2 id="servlet-engines-wzxhzdk25wzxhzdk26">Servlet Engines <a id="servlet-engine"></a></h2>
 <p>When using a servlet engine, there are potential CLASSPATH issues, and potential conflicts with existing XML/XSLT libraries. Servlet containers also often use their own classloaders for loading webapps, which can cause bugs and security problems.</p>
-<h3 id="tomcat-wzxhzdk28wzxhzdk29">Tomcat <a id="tomcat"></a></h3>
+<h3 id="tomcat-wzxhzdk27wzxhzdk28">Tomcat <a id="tomcat"></a></h3>
 <p>Check Tomcat's documentation for detailed instructions about installing FOP and Cocoon. There are known bugs that must be addressed, particularly for Tomcat 4.0.3.</p>
-<h3 id="websphere-35-wzxhzdk30wzxhzdk31">WebSphere 3.5 <a id="websphere"></a></h3>
+<h3 id="websphere-35-wzxhzdk29wzxhzdk30">WebSphere 3.5 <a id="websphere"></a></h3>
 <p>Put a copy of a working parser in some directory where WebSphere can access it. For example, if /usr/webapps/yourapp/servlets is the CLASSPATH for your servlets, copy the Xerces jar into it (any other directory would also be fine). Do not add the jar to the servlet CLASSPATH, but add it to the CLASSPATH of the application server which contains your web application. In the WebSphere administration console, click on the "environment" button in the "general" tab. In the "variable name" box, enter "CLASSPATH". In the "value" box, enter the correct path to the parser jar file (/usr/webapps/yourapp/servlets/Xerces.jar in our example here). Press "OK", then apply the change and restart the application server.</p>
-<h2 id="handling-complex-use-cases-wzxhzdk32wzxhzdk33">Handling complex use cases <a id="complex-usecases"></a></h2>
+<h2 id="handling-complex-use-cases-wzxhzdk31wzxhzdk32">Handling complex use cases <a id="complex-usecases"></a></h2>
 <p>Sometimes the requirements for a servlet get quite sophisticated: SQL data sources, multiple XSL transformations, merging of several datasources etc. In such a case consider using <a href="http://cocoon.apache.org/">Apache Cocoon</a> instead of a custom servlet to accomplish your goal.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/1.0/embedding.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/1.0/embedding.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/1.0/embedding.html Sat Dec  1 06:46:26 2012
@@ -342,12 +342,12 @@ $(document).ready(function () {
         </div>
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/1.0/">1.0</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-embedding">Apache&trade; FOP: Embedding</h1>
-<p><subtitle>How to Embed Apache� FOP in a Java application</subtitle><version>$Revision: 1298724 $</version></p>
-<h2 id="overview-wzxhzdk5wzxhzdk6">Overview <a id="overview"></a></h2>
+<p><subtitle>How to Embed Apache&trade; FOP in a Java application</subtitle></p>
+<h2 id="overview-wzxhzdk4wzxhzdk5">Overview <a id="overview"></a></h2>
 <p>Review <a href="running.html">Running FOP</a> for important information that applies to embedded applications as well as command-line use, such as options and performance.</p>
 <p>To embed Apache&trade; FOP in your application, first create a new org.apache.fop.apps.FopFactory instance. This object can be used to launch multiple rendering runs. For each run, create a new org.apache.fop.apps.Fop instance through one of the factory methods of FopFactory. In the method call you specify which output format (i.e. Renderer) to use and, if the selected renderer requires an OutputStream, which OutputStream to use for the results of the rendering. You can customize FOP's behaviour in a rendering run by supplying your own FOUserAgent instance. The FOUserAgent can, for example, be used to set your own Renderer instance (details below). Finally, you retrieve a SAX DefaultHandler instance from the Fop object and use that as the SAXResult of your transformation.
 We recently changed FOP's outer API to what we consider the final API. This might require some changes in your application. The main reasons for these changes were performance improvements due to better reuse of reusable objects and reduced use of static variables for added flexibility in complex environments.</p>
-<h1 id="basic-usage-pattern-wzxhzdk8wzxhzdk9">Basic Usage Pattern <a id="basics"></a></h1>
+<h1 id="basic-usage-pattern-wzxhzdk7wzxhzdk8">Basic Usage Pattern <a id="basics"></a></h1>
 <p>Apache FOP relies heavily on JAXP. It uses SAX events exclusively to receive the XSL-FO input document. It is therefore a good idea that you know a few things about JAXP (which is a good skill anyway). Let's look at the basic usage pattern for FOP...</p>
 <p>Here is the basic pattern to render an XSL-FO file to PDF:</p>
 <p>import org.apache.fop.apps.FopFactory;
@@ -400,7 +400,7 @@ Let's discuss these 5 steps in detail:</
 </ul>
 <p>If you're not totally familiar with JAXP Transformers, please have a look at the <a href="#examples">Embedding examples</a> below. The section contains examples for all sorts of use cases. If you look at all of them in turn you should be able to see the patterns in use and the flexibility this approach offers without adding too much complexity.</p>
 <p>This may look complicated at first, but it's really just the combination of an XSL transformation and a FOP run. It's also easy to comment out the FOP part for debugging purposes, for example when you're tracking down a bug in your stylesheet. You can easily write the XSL-FO output from the XSL transformation to a file to check if that part generates the expected output. An example for that can be found in the <a href="#examples">Embedding examples</a> (See "ExampleXML2FO").</p>
-<h3 id="logging-wzxhzdk10wzxhzdk11">Logging <a id="basic-logging"></a></h3>
+<h3 id="logging-wzxhzdk9wzxhzdk10">Logging <a id="basic-logging"></a></h3>
 <p>Logging is now a little different than it was in FOP 0.20.5. We've switched from Avalon Logging to <a href="http://commons.apache.org/logging/">Jakarta Commons Logging</a> . While with Avalon Logging the loggers were directly given to FOP, FOP now retrieves its logger(s) through a statically available LogFactory. This is similar to the general pattern that you use when you work with Apache Log4J directly, for example. We call this "static logging" (Commons Logging, Log4J) as opposed to "instance logging" (Avalon Logging). This has a consequence: You can't give FOP a logger for each processing run anymore. The log output of multiple, simultaneously running FOP instances is sent to the same logger.</p>
 <p>By default, <a href="http://commons.apache.org/logging/">Jakarta Commons Logging</a> uses JDK logging (available in JDKs 1.4 or higher) as its backend. You can configure Commons Logging to use an alternative backend, for example Log4J. Please consult the <a href="http://commons.apache.org/logging/">documentation for Jakarta Commons Logging</a> on how to configure alternative backends.</p>
 <p>As a result of the above we differentiate between two kinds of "logging":</p>
@@ -413,16 +413,16 @@ Let's discuss these 5 steps in detail:</
 </li>
 </ul>
 <p>The use of "feedback" instead of "logging" is intentional. Most people were using log output as a means to get feedback from events within FOP. Therefore, FOP now includes an <code>event</code> package which can be used to receive feedback from the layout engine and other components within FOP <strong>per rendering run</strong> . This feedback is not just some text but event objects with parameters so these events can be interpreted by code. Of course, there is a facility to turn these events into normal human-readable messages. For details, please read on on the <a href="events.html">Events page</a> . This leaves normal logging to be mostly a thing used by the FOP developers although anyone can surely activate certain logging categories but the feedback from the loggers won't be separated by processing runs. If this is required, the <a href="events.html">Events subsystem</a> is the right approach.</p>
-<h3 id="processing-xsl-fo-wzxhzdk12wzxhzdk13">Processing XSL-FO <a id="render"></a></h3>
+<h3 id="processing-xsl-fo-wzxhzdk11wzxhzdk12">Processing XSL-FO <a id="render"></a></h3>
 <p>Once the Fop instance is set up, call <code>getDefaultHandler()</code> to obtain a SAX DefaultHandler instance to which you can send the SAX events making up the XSL-FO document you'd like to render. FOP processing starts as soon as the DefaultHandler's <code>startDocument()</code> method is called. Processing stops again when the DefaultHandler's <code>endDocument()</code> method is called. Please refer to the basic usage pattern shown above to render a simple XSL-FO document.</p>
-<h3 id="processing-xsl-fo-generated-from-xmlxslt-wzxhzdk14wzxhzdk15">Processing XSL-FO generated from XML+XSLT <a id="render-with-xslt"></a></h3>
+<h3 id="processing-xsl-fo-generated-from-xmlxslt-wzxhzdk13wzxhzdk14">Processing XSL-FO generated from XML+XSLT <a id="render-with-xslt"></a></h3>
 <p>If you want to process XSL-FO generated from XML using XSLT we recommend again using standard JAXP to do the XSLT part and piping the generated SAX events directly through to FOP. The only thing you'd change to do that on the basic usage pattern above is to set up the Transformer differently:</p>
 <p>//without XSLT:
   //Transformer transformer = factory.newTransformer(); // identity transformer</p>
 <p>//with XSLT:
   Source xslt = new StreamSource(new File("mystylesheet.xsl"));
   Transformer transformer = factory.newTransformer(xslt);</p>
-<h1 id="input-sources-wzxhzdk16wzxhzdk17">Input Sources <a id="input"></a></h1>
+<h1 id="input-sources-wzxhzdk15wzxhzdk16">Input Sources <a id="input"></a></h1>
 <p>The input XSL-FO document is always received by FOP as a SAX stream (see the <a href="../dev/design/parsing.html">Parsing Design Document</a> for the rationale).</p>
 <p>However, you may not always have your input document available as a SAX stream. But with JAXP it's easy to convert different input sources to a SAX stream so you can pipe it into FOP. That sounds more difficult than it is. You simply have to set up the right Source instance as input for the JAXP transformation. A few examples:</p>
 <ul>
@@ -449,9 +449,9 @@ Let's discuss these 5 steps in detail:</
 </li>
 </ul>
 <p>There are a variety of upstream data manipulations possible. For example, you may have a DOM and an XSL stylesheet; or you may want to set variables in the stylesheet. Interface documentation and some cookbook solutions to these situations are provided in <a href="http://xml.apache.org/xalan-j/usagepatterns.html">Xalan Basic Usage Patterns</a> .</p>
-<h2 id="configuring-apache-fop-programmatically-wzxhzdk18wzxhzdk19">Configuring Apache FOP Programmatically <a id="config-internal"></a></h2>
+<h2 id="configuring-apache-fop-programmatically-wzxhzdk17wzxhzdk18">Configuring Apache FOP Programmatically <a id="config-internal"></a></h2>
 <p>Apache FOP provides two levels on which you can customize FOP's behaviour: the FopFactory and the user agent.</p>
-<h3 id="customizing-the-fopfactory-wzxhzdk20wzxhzdk21">Customizing the FopFactory <a id="fop-factory"></a></h3>
+<h3 id="customizing-the-fopfactory-wzxhzdk19wzxhzdk20">Customizing the FopFactory <a id="fop-factory"></a></h3>
 <p>The FopFactory holds configuration data and references to objects which are reusable over multiple rendering runs. It's important to instantiate it only once (except in special environments) and reuse it every time to create new FOUserAgent and Fop instances.</p>
 <p>You can set all sorts of things on the FopFactory:</p>
 <ul>
@@ -484,7 +484,7 @@ fopFactory.addElementMapping(myElementMa
 fopFactory.setURIResolver(myResolver); // myResolver is a javax.xml.transform.URIResolverBoth the FopFactory and the FOUserAgent have a method to set a URIResolver. The URIResolver on the FopFactory is primarily used to resolve URIs on factory-level (hyphenation patterns, for example) and it is always used if no other URIResolver (for example on the FOUserAgent) resolved the URI first.</p>
 </li>
 </ul>
-<h3 id="customizing-the-user-agent-wzxhzdk22wzxhzdk23">Customizing the User Agent <a id="user-agent"></a></h3>
+<h3 id="customizing-the-user-agent-wzxhzdk21wzxhzdk22">Customizing the User Agent <a id="user-agent"></a></h3>
 <p>The user agent is the entity that allows you to interact with a single rendering run, i.e. the processing of a single document. If you wish to customize the user agent's behaviour, the first step is to create your own instance of FOUserAgent using the appropriate factory method on FopFactory and pass that to the factory method that will create a new Fop instance:</p>
 <p>FopFactory fopFactory = FopFactory.newInstance(); // Reuse the FopFactory if possible!
   // do the following for each new rendering run
@@ -539,7 +539,7 @@ userAgent.setURIResolver(myResolver); //
 You should not reuse an FOUserAgent instance between FOP rendering runs although you can. Especially in multi-threaded environment, this is a bad idea.</p>
 </li>
 </ul>
-<h1 id="using-a-configuration-file-wzxhzdk24wzxhzdk25">Using a Configuration File <a id="config-external"></a></h1>
+<h1 id="using-a-configuration-file-wzxhzdk23wzxhzdk24">Using a Configuration File <a id="config-external"></a></h1>
 <p>Instead of setting the parameters manually in code as shown above you can also set many values from an XML configuration file:</p>
 <p>import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;</p>
@@ -550,16 +550,16 @@ fopFactory.setUserConfig(cfg);</p>
 <p>/<em> ..or.. </em>/</p>
 <p>fopFactory.setUserConfig(new File("C:/Temp/mycfg.xml"));
 The layout of the configuration file is described on the <a href="configuration.html">Configuration page</a> .</p>
-<h2 id="hints-wzxhzdk26wzxhzdk27">Hints <a id="hints"></a></h2>
-<h3 id="object-reuse-wzxhzdk28wzxhzdk29">Object reuse <a id="object-reuse"></a></h3>
+<h2 id="hints-wzxhzdk25wzxhzdk26">Hints <a id="hints"></a></h2>
+<h3 id="object-reuse-wzxhzdk27wzxhzdk28">Object reuse <a id="object-reuse"></a></h3>
 <p>Fop instances shouldn't (and can't) be reused. Please recreate Fop and FOUserAgent instances for each rendering run using the FopFactory. This is a cheap operation as all reusable information is held in the FopFactory. That's why it's so important to reuse the FopFactory instance.</p>
-<h3 id="awt-issues-wzxhzdk30wzxhzdk31">AWT issues <a id="awt"></a></h3>
+<h3 id="awt-issues-wzxhzdk29wzxhzdk30">AWT issues <a id="awt"></a></h3>
 <p>If your XSL-FO files contain SVG then Apache Batik will be used. When Batik is initialised it uses certain classes in <code>java.awt</code> that intialise 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.</p>
 <p>The thread means that the Java application may not automatically quit when finished, you will need to call <code>System.exit()</code> . These issues should be fixed in the JDK 1.4.</p>
 <p>If you run into trouble running FOP on a head-less server, please see the <a href="graphics.html#batik">notes on Batik</a> .</p>
-<h3 id="getting-information-on-the-rendering-process-wzxhzdk32wzxhzdk33">Getting information on the rendering process <a id="render-info"></a></h3>
+<h3 id="getting-information-on-the-rendering-process-wzxhzdk31wzxhzdk32">Getting information on the rendering process <a id="render-info"></a></h3>
 <p>To get the number of pages that were rendered by FOP you can call <code>Fop.getResults()</code> . This returns a <code>FormattingResults</code> object where you can look up the number of pages produced. It also gives you the page-sequences that were produced along with their id attribute and their numbers 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.</p>
-<h2 id="improving-performance-wzxhzdk34wzxhzdk35">Improving performance <a id="performance"></a></h2>
+<h2 id="improving-performance-wzxhzdk33wzxhzdk34">Improving performance <a id="performance"></a></h2>
 <p>There are several options to consider:</p>
 <ul>
 <li>
@@ -581,35 +581,35 @@ The layout of the configuration file is 
 <p>You may also wish to consider trying to reduce <a href="http://xmlgraphics.apache.org/fop/trunk/running.html#memory">memory usage</a> .</p>
 </li>
 </ul>
-<h2 id="multithreading-fop-wzxhzdk36wzxhzdk37">Multithreading FOP <a id="multithreading"></a></h2>
+<h2 id="multithreading-fop-wzxhzdk35wzxhzdk36">Multithreading FOP <a id="multithreading"></a></h2>
 <p>Apache FOP may currently not be completely thread safe. The code has not been fully tested for multi-threading issues, yet. If you encounter any suspicious behaviour, please notify us.</p>
 <p>There is also a known issue with fonts being jumbled between threads when using the Java2D/AWT renderer (which is used by the -awt and -print output options). In general, you cannot safely run multiple threads through the AWT renderer.</p>
-<h2 id="examples-wzxhzdk38wzxhzdk39">Examples <a id="examples"></a></h2>
+<h2 id="examples-wzxhzdk37wzxhzdk38">Examples <a id="examples"></a></h2>
 <p>The directory "{fop-dir}/examples/embedding" contains several working examples.</p>
-<h3 id="examplefo2pdfjava-wzxhzdk40wzxhzdk41">ExampleFO2PDF.java <a id="ExampleFO2PDF"></a></h3>
+<h3 id="examplefo2pdfjava-wzxhzdk39wzxhzdk40">ExampleFO2PDF.java <a id="ExampleFO2PDF"></a></h3>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleFO2PDF.java?view=markup">example</a> demonstrates the basic usage pattern to transform an XSL-FO file to PDF using FOP.</p>
 <p><img alt="Example XSL-FO to PDF" src="images/EmbeddingExampleFO2PDF.png" /></p>
-<h2 id="examplexml2fojava-wzxhzdk42wzxhzdk43">ExampleXML2FO.java <a id="ExampleXML2FO"></a></h2>
+<h2 id="examplexml2fojava-wzxhzdk41wzxhzdk42">ExampleXML2FO.java <a id="ExampleXML2FO"></a></h2>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleXML2FO.java?view=markup">example</a> has nothing to do with FOP. It is there to show you how an XML file can be converted to XSL-FO using XSLT. The JAXP API is used to do the transformation. Make sure you've got a JAXP-compliant XSLT processor in your classpath (ex. <a href="http://xml.apache.org/xalan-j">Xalan</a> ).</p>
 <p><img alt="Example XML to XSL-FO" src="images/EmbeddingExampleXML2FO.png" /></p>
-<h2 id="examplexml2pdfjava-wzxhzdk44wzxhzdk45">ExampleXML2PDF.java <a id="ExampleXML2PDF"></a></h2>
+<h2 id="examplexml2pdfjava-wzxhzdk43wzxhzdk44">ExampleXML2PDF.java <a id="ExampleXML2PDF"></a></h2>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleXML2PDF.java?view=markup">example</a> demonstrates how you can convert an arbitrary XML file to PDF using XSLT and XSL-FO/FOP. It is a combination of the first two examples above. The example uses JAXP to transform the XML file to XSL-FO and FOP to transform the XSL-FO to PDF.</p>
 <p><img alt="Example XML to PDF (via XSL-FO)" src="images/EmbeddingExampleXML2PDF.png" /></p>
 <p>The output (XSL-FO) from the XSL transformation is piped through to FOP using SAX events. This is the most efficient way to do this because the intermediate result doesn't have to be saved somewhere. Often, novice users save the intermediate result in a file, a byte array or a DOM tree. We strongly discourage you to do this if it isn't absolutely necessary. The performance is significantly higher with SAX.</p>
-<h3 id="exampleobj2xmljava-wzxhzdk46wzxhzdk47">ExampleObj2XML.java <a id="ExampleObj2XML"></a></h3>
+<h3 id="exampleobj2xmljava-wzxhzdk45wzxhzdk46">ExampleObj2XML.java <a id="ExampleObj2XML"></a></h3>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleObj2XML.java?view=markup">example</a> is a preparatory example for the next one. It's an example that shows how an arbitrary Java object can be converted to XML. It's an often needed task to do this. Often people create a DOM tree from a Java object and use that. This is pretty straightforward. The example here, however, shows how to do this using SAX, which will probably be faster and not even more complicated once you know how this works.</p>
 <p><img alt="Example Java object to XML" src="images/EmbeddingExampleObj2XML.png" /></p>
 <p>For this example we've created two classes: ProjectTeam and ProjectMember (found in xml-fop/examples/embedding/java/embedding/model). They represent the same data structure found in xml-fop/examples/embedding/xml/xml/projectteam.xml. We want to serialize to XML a project team with several members which exist as Java objects. Therefore we created the two classes: ProjectTeamInputSource and ProjectTeamXMLReader (in the same place as ProjectTeam above).</p>
 <p>The XMLReader implementation (regard it as a special kind of XML parser) is responsible for creating SAX events from the Java object. The InputSource class is only used to hold the ProjectTeam object to be used.</p>
 <p>Have a look at the source of ExampleObj2XML.java to find out how this is used. For more detailed information see other resources on JAXP (ex. <a href="http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/xslt/3_generate.html">An older JAXP tutorial</a> ).</p>
-<h3 id="exampleobj2pdfjava-wzxhzdk48wzxhzdk49">ExampleObj2PDF.java <a id="ExampleObj2PDF"></a></h3>
+<h3 id="exampleobj2pdfjava-wzxhzdk47wzxhzdk48">ExampleObj2PDF.java <a id="ExampleObj2PDF"></a></h3>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleObj2PDF.java?view=markup">example</a> combines the previous and the third to demonstrate how you can transform a Java object to a PDF directly in one smooth run by generating SAX events from the Java object that get fed to an XSL transformation. The result of the transformation is then converted to PDF using FOP as before.</p>
 <p><img alt="Example Java object to PDF (via XML and XSL-FO)" src="images/EmbeddingExampleObj2PDF.png" /></p>
-<h2 id="exampledom2pdfjava-wzxhzdk50wzxhzdk51">ExampleDOM2PDF.java <a id="ExampleDOM2PDF"></a></h2>
+<h2 id="exampledom2pdfjava-wzxhzdk49wzxhzdk50">ExampleDOM2PDF.java <a id="ExampleDOM2PDF"></a></h2>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleDOM2PDF.java?view=markup">example</a> has FOP use a DOMSource instead of a StreamSource in order to use a DOM tree as input for an XSL transformation.</p>
-<h3 id="examplesvg2pdfjava-pdf-transcoder-example-wzxhzdk52wzxhzdk53">ExampleSVG2PDF.java (PDF Transcoder example) <a id="ExampleSVG2PDF"></a></h3>
+<h3 id="examplesvg2pdfjava-pdf-transcoder-example-wzxhzdk51wzxhzdk52">ExampleSVG2PDF.java (PDF Transcoder example) <a id="ExampleSVG2PDF"></a></h3>
 <p>This <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleSVG2PDF.java?view=markup">example</a> shows the usage of the PDF Transcoder, a sub-application within FOP. It is used to generate a PDF document from an SVG file.</p>
-<h3 id="final-notes-wzxhzdk54wzxhzdk55">Final notes <a id="example-notes"></a></h3>
+<h3 id="final-notes-wzxhzdk53wzxhzdk54">Final notes <a id="example-notes"></a></h3>
 <p>These examples should give you an idea of what's possible. It should be easy to adjust these examples to your needs. Also, if you have other examples that you think should be added here, please let us know via either the fop-users or fop-dev mailing lists. Finally, for more help please send your questions to the fop-users mailing list.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/1.0/fonts.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/1.0/fonts.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/1.0/fonts.html Sat Dec  1 06:46:26 2012
@@ -344,7 +344,7 @@ $(document).ready(function () {
       	<div class="section-content"><h1 id="apachewzxhzdk3-fop-fonts">Apache&trade; FOP: Fonts</h1>
 <p><version>$Revision: 1298724 $</version><authors><person email="" name="Jeremias Märki"></person><person email="" name="Tore Engvig"></person><person email="" name="Adrian Cumiskey"></person><person email="" name="Max Berger"></person></authors></p>
 <h2 id="summary-wzxhzdk16wzxhzdk17">Summary <a id="intro"></a></h2>
-<p>The following table summarizes the font capabilities of the various Apache� FOP renderers:</p>
+<p>The following table summarizes the font capabilities of the various Apache&trade; FOP renderers:</p>
 <table>
 <thead>
 <tr>
@@ -421,7 +421,7 @@ $(document).ready(function () {
 </tr>
 </tbody>
 </table>
-<h2 id="base-14-fonts-wzxhzdk18wzxhzdk19">Base-14 Fonts <a id="Base-14+Fonts"></a></h2>
+<h2 id="base-14-fonts-wzxhzdk19wzxhzdk20">Base-14 Fonts <a id="Base-14+Fonts"></a></h2>
 <p>The Adobe PostScript and PDF Specification specify a set of 14 fonts that must be available to every PostScript interpreter and PDF reader: Helvetica (normal, bold, italic, bold italic), Times (normal, bold, italic, bold italic), Courier (normal, bold, italic, bold italic), Symbol and ZapfDingbats.</p>
 <p>The following font family names are hard-coded into FOP for the Base-14 font set:</p>
 <table>
@@ -455,14 +455,14 @@ $(document).ready(function () {
 </tbody>
 </table>
 <p>Please note that recent versions of Adobe Acrobat Reader replace "Helvetica" with "Arial" and "Times" with "Times New Roman" internally. GhostScript replaces "Helvetica" with "Nimbus Sans L" and "Times" with "Nimbus Roman No9 L". Other document viewers may do similar font substitutions. If you need to make sure that there are no such substitutions, you need to specify an explicit font and embed it in the target document.</p>
-<h2 id="missing-fonts-wzxhzdk20wzxhzdk21">Missing Fonts <a id="missing-fonts"></a></h2>
+<h2 id="missing-fonts-wzxhzdk21wzxhzdk22">Missing Fonts <a id="missing-fonts"></a></h2>
 <p>When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with "any". "any" is internally mapped to the Base-14 font "Times" (see above).</p>
-<h2 id="missing-glyphs-wzxhzdk22wzxhzdk23">Missing Glyphs <a id="missing-glyphs"></a></h2>
+<h2 id="missing-glyphs-wzxhzdk23wzxhzdk24">Missing Glyphs <a id="missing-glyphs"></a></h2>
 <p>Every font contains a particular set of <a href="http://en.wikipedia.org/wiki/Glyph">glyphs</a> . If no glyph can be found for a given character, FOP will issue a warning and use the glpyh for "#" (if available) instead. Before it does that, it consults a (currently hard-coded) registry of glyph substitution groups (see Glyphs.java in Apache XML Graphics Commons). This registry can supply alternative glyphs in some cases (like using space when a no-break space is requested). But there's no guarantee that the result will be as expected (for example, in the case of hyphens and similar glyphs). A better way is to use a font that has all the necessary glyphs. This glyph substitution is only a last resort.</p>
-<h2 id="java2dawtoperating-system-fonts-wzxhzdk24wzxhzdk25">Java2D/AWT/Operating System Fonts <a id="awt"></a></h2>
+<h2 id="java2dawtoperating-system-fonts-wzxhzdk25wzxhzdk26">Java2D/AWT/Operating System Fonts <a id="awt"></a></h2>
 <p>The Java2D family of renderers (Java2D, AWT, Print, TIFF, PNG), use the Java AWT subsystem for font metric information. Through operating system registration, the AWT subsystem knows what fonts are available on the system, and the font metrics for each one.</p>
 <p>When working with one of these output formats and you're missing a font, just install it in your operating system and they should be available for these renderers. Please note that this is not true for other output formats such as PDF or PostScript.</p>
-<h2 id="custom-fonts-wzxhzdk26wzxhzdk27">Custom Fonts <a id="custom"></a></h2>
+<h2 id="custom-fonts-wzxhzdk27wzxhzdk28">Custom Fonts <a id="custom"></a></h2>
 <p>Support for custom fonts is highly output format dependent (see above table). This section shows how to add Type 1 and TrueType fonts to the PDF, PostScript and Java2D-based renderers. Other renderers (like AFP) support other font formats. Details in this case can be found on the page about <a href="output.html">output formats</a> .</p>
 <p>In earlier FOP versions, it was always necessary to create an XML font metrics file if you wanted to add a custom font. This unconvenient step has been removed and in addition to that, FOP supports auto-registration of fonts, i.e. FOP can find fonts installed in your operating system or can scan user-specified directories for fonts. Font registration via XML font metrics file is still supported and may still be necessary for some very special cases as fallback variant while we stabilize font auto-detection.</p>
 <p>Basic information about fonts can be found at:</p>
@@ -474,7 +474,7 @@ $(document).ready(function () {
 <p><a href="http://partners.adobe.com/asn/developer/technotes/fonts.html">Adobe Font Technote</a> </p>
 </li>
 </ul>
-<h2 id="basic-font-configuration-wzxhzdk28wzxhzdk29">Basic font configuration <a id="basics"></a></h2>
+<h2 id="basic-font-configuration-wzxhzdk29wzxhzdk30">Basic font configuration <a id="basics"></a></h2>
 <p>If you want FOP to use custom fonts, you need to tell it where to find them. This is done in the configuration file and once per renderer (because each output format is a little different). In the basic form, you can either tell FOP to find your operating system fonts or you can specify directories that it will search for support fonts. These fonts will then automatically be registered.</p>
 <p><renderers>
    <renderer mime="application/pdf">
@@ -492,9 +492,9 @@ $(document).ready(function () {
 
 <p></renderer>
 </renderers>Review the documentation for <a href="configuration.html">FOP Configuration</a> for instructions on making the FOP configuration available to FOP when it runs. Otherwise, FOP has no way of finding your custom font information. It is currently not possible to easily configure fonts from Java code.</p>
-<h1 id="advanced-font-configuration-wzxhzdk38wzxhzdk39">Advanced font configuration <a id="advanced"></a></h1>
+<h1 id="advanced-font-configuration-wzxhzdk39wzxhzdk40">Advanced font configuration <a id="advanced"></a></h1>
 <p>The instructions found above should be sufficient for most users. Below are some additional instructions in case the basic font configuration doesn't lead to the desired results.</p>
-<h3 id="type-1-font-metrics-wzxhzdk40wzxhzdk41">Type 1 Font Metrics <a id="type1-metrics"></a></h3>
+<h3 id="type-1-font-metrics-wzxhzdk41wzxhzdk42">Type 1 Font Metrics <a id="type1-metrics"></a></h3>
 <p>FOP includes PFMReader, which reads the PFM file that normally comes with a Type 1 font, and generates an appropriate font metrics file for it. To use it, run the class org.apache.fop.fonts.apps.PFMReader:</p>
 <p>Windows:
 java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging.jar;lib\commons-io.jar
@@ -507,7 +507,7 @@ PFMReader [options]:</p>
 <li><strong>-fn <fontname></strong> By default, FOP uses the fontname from the .pfm file when embedding the font. Use the "-fn" option to override this name with one you have chosen. This may be useful in some cases to ensure that applications using the output document (Acrobat Reader for example) use the embedded font instead of a local font with the same name.
 The classpath in the above example has been simplified for readability. You will have to adjust the classpath to the names of the actual JAR files in the lib directory. xml-apis.jar, xercesImpl.jar, xalan.jar and serializer.jar are not necessary for JDK version 1.4 or later.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 or in the AFM file. The PFMReader tool does not yet interpret PFB or AFM 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.</li>
 </ul>
-<h2 id="truetype-font-metrics-wzxhzdk42wzxhzdk43">TrueType Font Metrics <a id="truetype-metrics"></a></h2>
+<h2 id="truetype-font-metrics-wzxhzdk43wzxhzdk44">TrueType Font Metrics <a id="truetype-metrics"></a></h2>
 <p>FOP includes TTFReader, which reads the TTF file and generates an appropriate font metrics file for it. Use it in a similar manner to PFMReader. For example, to create such a metrics file in Windows from the TrueType font at c:\myfonts\cmr10.ttf:
 java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging.jar;lib\commons-io.jar
           org.apache.fop.fonts.apps.TTFReader [options]
@@ -568,7 +568,7 @@ Alternatively, the individual sub-fonts 
 <font embed-url="gulim.ttc" sub-font="GulimChe">
   <font-triplet name="GulimChe" style="normal" weight="normal"/>
 </font></p>
-<h2 id="register-fonts-with-fop-wzxhzdk47wzxhzdk48">Register Fonts with FOP <a id="register"></a></h2>
+<h2 id="register-fonts-with-fop-wzxhzdk48wzxhzdk49">Register Fonts with FOP <a id="register"></a></h2>
 <p>You must tell FOP how to find and use the font metrics files by registering them in the <a href="configuration.html">FOP Configuration</a> . Add entries for your custom fonts, regardless of font type, to the configuration file in a manner similar to the following:</p>
 <p><renderers>
    <renderer mime="application/pdf">
@@ -642,7 +642,7 @@ Alternatively, the individual sub-fonts 
 <p>If relative URLs are specified, they are evaluated relative to the value of the "font-base" setting. If there is no "font-base" setting, the fonts are evaluated relative to the base directory.</p>
 </li>
 </ul>
-<h3 id="auto-detect-and-auto-embed-feature-wzxhzdk58wzxhzdk59">Auto-Detect and auto-embed feature <a id="autodetect"></a></h3>
+<h3 id="auto-detect-and-auto-embed-feature-wzxhzdk59wzxhzdk60">Auto-Detect and auto-embed feature <a id="autodetect"></a></h3>
 <p>When the "auto-detect" flag is set in the configuration, FOP will automatically search for fonts in the default paths for your operating system.</p>
 <p>FOP will also auto-detect fonts which are available in the classpath, if they are described as "application/x-font" in the MANIFEST.MF file. For example, if your .jar file contains font/myfont.ttf:
 Manifest-Version: 1.0</p>
@@ -652,7 +652,7 @@ Manifest-Version: 1.0</p>
 
 
 <p>This feature allows you to create JAR files containing fonts. The JAR files can be added to fop by providem them in the classpath, e.g. copying them into the lib/ directory.</p>
-<h3 id="embedding-wzxhzdk60wzxhzdk61">Embedding <a id="embedding"></a></h3>
+<h3 id="embedding-wzxhzdk61wzxhzdk62">Embedding <a id="embedding"></a></h3>
 <p>By default, all fonts are embedded if an output format supports font embedding. In some cases, however, it is preferred that some fonts are only referenced. When working with referenced fonts it is important to be in control of the target environment where the produced document is consumed, i.e. the necessary fonts have to be installed there.</p>
 <p>There are two different ways how you can specify that a font should be referenced:</p>
 <ol>
@@ -691,7 +691,7 @@ At the moment, you can only match fonts 
 <p>When embedding TrueType fonts (ttf) or TrueType Collections (ttc), a subset of the original font, containing only the glyphs used, is embedded in the output document. That's the default, but if you specify encoding-mode="single-byte" (see above), the complete font is embedded.</p>
 </li>
 </ul>
-<h3 id="substitution-wzxhzdk70wzxhzdk71">Substitution <a id="substitution"></a></h3>
+<h3 id="substitution-wzxhzdk71wzxhzdk72">Substitution <a id="substitution"></a></h3>
 <p>When a <substitutions/> section is defined in the configuration, FOP will re-map any font-family references found in your FO input to a given substitution font.</p>
 <ul>
 <li>
@@ -716,7 +716,7 @@ At the moment, you can only match fonts 
       </substitutions>
    </fonts>
 </fop></p>
-<h1 id="font-selection-strategies-wzxhzdk87wzxhzdk88">Font Selection Strategies <a id="selection"></a></h1>
+<h1 id="font-selection-strategies-wzxhzdk88wzxhzdk89">Font Selection Strategies <a id="selection"></a></h1>
 <p>There are two font selection strategies: character-by-character or auto. The default is auto.</p>
 <p>Auto selected the first font from the list which is able to display the most characters in a given word. This means (assume font A has characters for abclmn, font B for lnmxyz, fontlist is A,B):</p>
 <ul>
@@ -734,7 +734,7 @@ At the moment, you can only match fonts 
 </li>
 </ul>
 <p>Character-by-Character is NOT yet supported!</p>
-<h2 id="font-list-command-line-tool-wzxhzdk89wzxhzdk90">Font List Command-Line Tool <a id="font-list"></a></h2>
+<h2 id="font-list-command-line-tool-wzxhzdk90wzxhzdk91">Font List Command-Line Tool <a id="font-list"></a></h2>
 <p>FOP contains a small command-line tool that lets you generate a list of all configured fonts. Its class name is: <code>org.apache.fop.tools.fontlist.FontListMain</code> . Run it with the "-?" parameter to get help for the various options.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/1.1/fonts.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/1.1/fonts.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/1.1/fonts.html Sat Dec  1 06:46:26 2012
@@ -344,7 +344,7 @@ $(document).ready(function () {
       	<div class="section-content"><h1 id="apachewzxhzdk5-fop-fonts">Apache&trade; FOP: Fonts</h1>
 <p><version>$Revision$</version><authors><person email="" name="Jeremias Märki"></person><person email="" name="Tore Engvig"></person><person email="" name="Adrian Cumiskey"></person><person email="" name="Max Berger"></person></authors></p>
 <h2 id="summary-wzxhzdk18wzxhzdk19">Summary <a id="intro"></a></h2>
-<p>The following table summarizes the font capabilities of the various Apache� FOP renderers:</p>
+<p>The following table summarizes the font capabilities of the various Apache&trade; FOP renderers:</p>
 <table>
 <thead>
 <tr>
@@ -421,7 +421,7 @@ $(document).ready(function () {
 </tr>
 </tbody>
 </table>
-<h2 id="base-14-fonts-wzxhzdk20wzxhzdk21">Base-14 Fonts <a id="Base-14+Fonts"></a></h2>
+<h2 id="base-14-fonts-wzxhzdk21wzxhzdk22">Base-14 Fonts <a id="Base-14+Fonts"></a></h2>
 <p>The Adobe PostScript and PDF Specification specify a set of 14 fonts that must be available to every PostScript interpreter and PDF reader: Helvetica (normal, bold, italic, bold italic), Times (normal, bold, italic, bold italic), Courier (normal, bold, italic, bold italic), Symbol and ZapfDingbats.</p>
 <p>The following font family names are hard-coded into FOP for the Base-14 font set:</p>
 <table>
@@ -455,14 +455,14 @@ $(document).ready(function () {
 </tbody>
 </table>
 <p>Please note that recent versions of Adobe Acrobat Reader replace "Helvetica" with "Arial" and "Times" with "Times New Roman" internally. GhostScript replaces "Helvetica" with "Nimbus Sans L" and "Times" with "Nimbus Roman No9 L". Other document viewers may do similar font substitutions. If you need to make sure that there are no such substitutions, you need to specify an explicit font and embed it in the target document.</p>
-<h2 id="missing-fonts-wzxhzdk22wzxhzdk23">Missing Fonts <a id="missing-fonts"></a></h2>
+<h2 id="missing-fonts-wzxhzdk23wzxhzdk24">Missing Fonts <a id="missing-fonts"></a></h2>
 <p>When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with "any". "any" is internally mapped to the Base-14 font "Times" (see above).</p>
-<h2 id="missing-glyphs-wzxhzdk24wzxhzdk25">Missing Glyphs <a id="missing-glyphs"></a></h2>
+<h2 id="missing-glyphs-wzxhzdk25wzxhzdk26">Missing Glyphs <a id="missing-glyphs"></a></h2>
 <p>Every font contains a particular set of <a href="http://en.wikipedia.org/wiki/Glyph">glyphs</a> . If no glyph can be found for a given character, FOP will issue a warning and use the glpyh for "#" (if available) instead. Before it does that, it consults a (currently hard-coded) registry of glyph substitution groups (see Glyphs.java in Apache XML Graphics Commons). This registry can supply alternative glyphs in some cases (like using space when a no-break space is requested). But there's no guarantee that the result will be as expected (for example, in the case of hyphens and similar glyphs). A better way is to use a font that has all the necessary glyphs. This glyph substitution is only a last resort.</p>
-<h2 id="java2dawtoperating-system-fonts-wzxhzdk26wzxhzdk27">Java2D/AWT/Operating System Fonts <a id="awt"></a></h2>
+<h2 id="java2dawtoperating-system-fonts-wzxhzdk27wzxhzdk28">Java2D/AWT/Operating System Fonts <a id="awt"></a></h2>
 <p>The Java2D family of renderers (Java2D, AWT, Print, TIFF, PNG), use the Java AWT subsystem for font metric information. Through operating system registration, the AWT subsystem knows what fonts are available on the system, and the font metrics for each one.</p>
 <p>When working with one of these output formats and you're missing a font, just install it in your operating system and they should be available for these renderers. Please note that this is not true for other output formats such as PDF or PostScript.</p>
-<h2 id="custom-fonts-wzxhzdk28wzxhzdk29">Custom Fonts <a id="custom"></a></h2>
+<h2 id="custom-fonts-wzxhzdk29wzxhzdk30">Custom Fonts <a id="custom"></a></h2>
 <p>Support for custom fonts is highly output format dependent (see above table). This section shows how to add Type 1 and TrueType fonts to the PDF, PostScript and Java2D-based renderers. Other renderers (like AFP) support other font formats. Details in this case can be found on the page about <a href="output.html">output formats</a> .</p>
 <p>In earlier FOP versions, it was always necessary to create an XML font metrics file if you wanted to add a custom font. This unconvenient step has been removed and in addition to that, FOP supports auto-registration of fonts, i.e. FOP can find fonts installed in your operating system or can scan user-specified directories for fonts. Font registration via XML font metrics file is still supported and may still be necessary for some very special cases as fallback variant while we stabilize font auto-detection.</p>
 <p>Basic information about fonts can be found at:</p>
@@ -474,7 +474,7 @@ $(document).ready(function () {
 <p><a href="http://partners.adobe.com/asn/developer/technotes/fonts.html">Adobe Font Technote</a> </p>
 </li>
 </ul>
-<h2 id="bulk-font-configuration-wzxhzdk30wzxhzdk31">Bulk Font Configuration <a id="bulk"></a></h2>
+<h2 id="bulk-font-configuration-wzxhzdk31wzxhzdk32">Bulk Font Configuration <a id="bulk"></a></h2>
 <p>If you want FOP to use custom fonts, you need to tell it where to find them. This is done in the configuration file and once per renderer (because each output format is a little different). For convenience, FOP allows bulk registering of fonts; you can either tell FOP to find your operating system fonts or you can specify directories that it will search for support fonts. These fonts will then automatically be registered.</p>
 <div class="codehilite"><pre><span class="nt">&lt;renderers&gt;</span>
   <span class="nt">&lt;renderer</span> <span class="na">mime=</span><span class="s">&quot;application/pdf&quot;</span><span class="nt">&gt;</span>
@@ -494,7 +494,7 @@ $(document).ready(function () {
 
 
 <p>Review the documentation for <a href="configuration.html">FOP Configuration</a> for instructions on making the FOP configuration available to FOP when it runs. Otherwise, FOP has no way of finding your custom font information. It is currently not possible to easily configure fonts from Java code.</p>
-<h2 id="register-fonts-with-fop-wzxhzdk32wzxhzdk33">Register Fonts with FOP <a id="register"></a></h2>
+<h2 id="register-fonts-with-fop-wzxhzdk33wzxhzdk34">Register Fonts with FOP <a id="register"></a></h2>
 <p>You must tell FOP how to find and use the font files by registering them in the <a href="configuration.html">FOP Configuration</a> . Add entries for your custom fonts, regardless of font type, to the configuration file in a manner similar to the following:</p>
 <div class="codehilite"><pre><span class="nt">&lt;renderers&gt;</span>
    <span class="nt">&lt;renderer</span> <span class="na">mime=</span><span class="s">&quot;application/pdf&quot;</span><span class="nt">&gt;</span>
@@ -560,7 +560,7 @@ $(document).ready(function () {
 <p>If relative URLs are specified, they are evaluated relative to the value of the "font-base" setting. If there is no "font-base" setting, the fonts are evaluated relative to the base directory.</p>
 </li>
 </ul>
-<h2 id="truetype-collections-wzxhzdk34wzxhzdk35">TrueType Collections <a id="truetype-collections-metrics"></a></h2>
+<h2 id="truetype-collections-wzxhzdk35wzxhzdk36">TrueType Collections <a id="truetype-collections-metrics"></a></h2>
 <p>TrueType collections (.ttc files) contain more than one font. To create metrics files for these fonts, you must specify which font in the collection should be generated, by using the "-ttcname" option with the TTFReader.</p>
 <p>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 display all of the font names and exit with an Exception.</p>
 <p>Here is an example of generating a metrics file for a .ttc file:
@@ -571,7 +571,7 @@ Alternatively, the individual sub-fonts 
 <font embed-url="gulim.ttc" sub-font="GulimChe">
   <font-triplet name="GulimChe" style="normal" weight="normal"/>
 </font></p>
-<h2 id="auto-detect-and-auto-embed-feature-wzxhzdk39wzxhzdk40">Auto-Detect and auto-embed feature <a id="autodetect"></a></h2>
+<h2 id="auto-detect-and-auto-embed-feature-wzxhzdk40wzxhzdk41">Auto-Detect and auto-embed feature <a id="autodetect"></a></h2>
 <p>When the "auto-detect" flag is set in the configuration, FOP will automatically search for fonts in the default paths for your operating system.</p>
 <p>FOP will also auto-detect fonts which are available in the classpath, if they are described as "application/x-font" in the MANIFEST.MF file. For example, if your .jar file contains font/myfont.ttf:
 Manifest-Version: 1.0</p>
@@ -581,10 +581,10 @@ Manifest-Version: 1.0</p>
 
 
 <p>This feature allows you to create JAR files containing fonts. The JAR files can be added to fop by providem them in the classpath, e.g. copying them into the lib/ directory.</p>
-<h3 id="the-font-cache-wzxhzdk41wzxhzdk42">The font cache <a id="font-cache"></a></h3>
+<h3 id="the-font-cache-wzxhzdk42wzxhzdk43">The font cache <a id="font-cache"></a></h3>
 <p>Apache FOP maintains a cache file that is used to speed up auto-detection. This file is usually found in the ".fop" directory under the user's home directory. It's called "fop-fonts.cache". When the user's home directory is not writable, the font cache file is put in the directory for temporary files.</p>
 <p>If there was a problem loading a particular font, it is flagged in the cache file so it is not loaded anymore. So, if a font is actually around but is still not found by Apache FOP, it's worth a try to delete the font cache file which forces Apache FOP to reparse all fonts.</p>
-<h2 id="type-1-font-metrics-wzxhzdk43wzxhzdk44">Type 1 Font Metrics <a id="type1-metrics"></a></h2>
+<h2 id="type-1-font-metrics-wzxhzdk44wzxhzdk45">Type 1 Font Metrics <a id="type1-metrics"></a></h2>
 <p>Note that metrics files are optional and no longer required</p>
 <p>FOP includes PFMReader, which reads the PFM file that normally comes with a Type 1 font, and generates an appropriate font metrics file for it. To use it, run the class org.apache.fop.fonts.apps.PFMReader:</p>
 <p>Windows:
@@ -598,7 +598,7 @@ PFMReader [options]:</p>
 <li><strong>-fn <fontname></strong> By default, FOP uses the fontname from the .pfm file when embedding the font. Use the "-fn" option to override this name with one you have chosen. This may be useful in some cases to ensure that applications using the output document (Acrobat Reader for example) use the embedded font instead of a local font with the same name.
 The classpath in the above example has been simplified for readability. You will have to adjust the classpath to the names of the actual JAR files in the lib directory. xml-apis.jar, xercesImpl.jar, xalan.jar and serializer.jar are not necessary for JDK version 1.4 or later.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 or in the AFM file. The PFMReader tool does not yet interpret PFB or AFM 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.</li>
 </ul>
-<h2 id="truetype-font-metrics-wzxhzdk45wzxhzdk46">TrueType Font Metrics <a id="truetype-metrics"></a></h2>
+<h2 id="truetype-font-metrics-wzxhzdk46wzxhzdk47">TrueType Font Metrics <a id="truetype-metrics"></a></h2>
 <p>Note that metrics files are optional and no longer required</p>
 <p>FOP includes TTFReader, which reads the TTF file and generates an appropriate font metrics file for it. Use it in a similar manner to PFMReader. For example, to create such a metrics file in Windows from the TrueType font at c:\myfonts\cmr10.ttf:
 java -cp build\fop.jar;lib\avalon-framework-4.2.0.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\commons-logging-1.0.4.jar;lib\xmlgraphics-commons-1.5.jar
@@ -649,7 +649,7 @@ TTFReader [options]:</p>
 </tr>
 </tbody>
 </table>
-<h2 id="embedding-wzxhzdk47wzxhzdk48">Embedding <a id="embedding"></a></h2>
+<h2 id="embedding-wzxhzdk48wzxhzdk49">Embedding <a id="embedding"></a></h2>
 <p>By default, all fonts are embedded if an output format supports font embedding. In some cases, however, it is preferred that some fonts are only referenced. When working with referenced fonts it is important to be in control of the target environment where the produced document is consumed, i.e. the necessary fonts have to be installed there.</p>
 <p>There are two different ways how you can specify that a font should be referenced:</p>
 <ol>
@@ -688,7 +688,7 @@ TTFReader [options]:</p>
 <p>When embedding TrueType fonts (ttf) or TrueType Collections (ttc), a subset of the original font, containing only the glyphs used, is embedded in the output document. That's the default, but if you specify encoding-mode="single-byte" (see above), the complete font is embedded.</p>
 </li>
 </ul>
-<h2 id="substitution-wzxhzdk49wzxhzdk50">Substitution <a id="substitution"></a></h2>
+<h2 id="substitution-wzxhzdk50wzxhzdk51">Substitution <a id="substitution"></a></h2>
 <p>When a <substitutions/> section is defined in the configuration, FOP will re-map any font-family references found in your FO input to a given substitution font.</p>
 <ul>
 <li>
@@ -716,7 +716,7 @@ TTFReader [options]:</p>
 </pre></div>
 
 
-<h2 id="font-selection-strategies-wzxhzdk52wzxhzdk53">Font Selection Strategies <a id="selection"></a></h2>
+<h2 id="font-selection-strategies-wzxhzdk53wzxhzdk54">Font Selection Strategies <a id="selection"></a></h2>
 <p>There are two font selection strategies: character-by-character or auto. The default is auto.</p>
 <p>Auto selected the first font from the list which is able to display the most characters in a given word. This means (assume font A has characters for abclmn, font B for lnmxyz, fontlist is A,B):</p>
 <ul>
@@ -734,7 +734,7 @@ TTFReader [options]:</p>
 </li>
 </ul>
 <p>Character-by-Character is NOT yet supported!</p>
-<h2 id="font-list-command-line-tool-wzxhzdk54wzxhzdk55">Font List Command-Line Tool <a id="font-list"></a></h2>
+<h2 id="font-list-command-line-tool-wzxhzdk55wzxhzdk56">Font List Command-Line Tool <a id="font-list"></a></h2>
 <p>FOP contains a small command-line tool that lets you generate a list of all configured fonts. Its class name is: <code>org.apache.fop.tools.fontlist.FontListMain</code> . Run it with the "-?" parameter to get help for the various options.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/embedding.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/embedding.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/embedding.html Sat Dec  1 06:46:26 2012
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
   <head>
-    <title>Apache(tm) FOP Design: Embedding Apache� FOP in Other Applications</title>
+    <title>Apache(tm) FOP Design: Embedding Apache&amp;trade; FOP in Other Applications</title>
 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />
@@ -333,7 +333,7 @@ $(document).ready(function () {
 	<div id="bannertext" style="border-bottom: 2px dashed #666666; height: 70px;">
 	  <a href="/fop/"><img src="/images/apache-fop-logo.jpg" alt="The Apache FOP Project" width="120" height="65" style="float:left; margin-right: 15px;" /></a>
 	  <h2>The Apache&trade; FOP Project</h2>
-	</div><!-- <h1>Apache(tm) FOP Design: Embedding Apache� FOP in Other Applications</h1> -->
+	</div><!-- <h1>Apache(tm) FOP Design: Embedding Apache&amp;trade; FOP in Other Applications</h1> -->
 
 
       
@@ -341,13 +341,13 @@ $(document).ready(function () {
         <div id="items">
         </div>
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
-      	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-embedding-apache-fop-in-other-applications">Apache&trade; FOP Design: Embedding Apache� FOP in Other Applications</h1>
+      	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-embedding-apachewzxhzdk1-fop-in-other-applications">Apache&trade; FOP Design: Embedding Apache&trade; FOP in Other Applications</h1>
 <p><version>$Revision: 1298724 $</version><authors><person email="keiron@aftexsw.com" name="Keiron Liddle"></person></authors></p>
-<h2 id="introduction-wzxhzdk7wzxhzdk8">Introduction <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk8wzxhzdk9">Introduction <a id="intro"></a></h2>
 <p>This is the design for the external interface when Apache&trade; FOP is to be embedded inside another java application.</p>
 <p>Common places where FOP is embedded is in a report production application of a server side application such as<jump href="http://xml.apache.org/cocoon/index.html">Cocoon</jump>.</p>
-<h2 id="settings-wzxhzdk12wzxhzdk13">Settings <a id="Settings"></a></h2>
-<h3 id="user-agent-wzxhzdk14wzxhzdk15">User Agent <a id="User+Agent"></a></h3>
+<h2 id="settings-wzxhzdk13wzxhzdk14">Settings <a id="Settings"></a></h2>
+<h3 id="user-agent-wzxhzdk15wzxhzdk16">User Agent <a id="User+Agent"></a></h3>
 <p>Possible meanings for a user agent:</p>
 <ul>
 <li>
@@ -361,7 +361,7 @@ $(document).ready(function () {
 </li>
 </ul>
 <p>The user agent is responsible for supplying user or context specific information. The list of user agent values can be found on the<jump href="useragent.html">User Agent</jump>page.</p>
-<h3 id="logging-wzxhzdk18wzxhzdk19">Logging <a id="Logging"></a></h3>
+<h3 id="logging-wzxhzdk19wzxhzdk20">Logging <a id="Logging"></a></h3>
 <ul>
 <li>
 <p>logging level</p>
@@ -376,7 +376,7 @@ $(document).ready(function () {
 <p>Logging setup (LogKit, Log4J, JDK14Logging)</p>
 </li>
 </ul>
-<h3 id="xml-input-wzxhzdk20wzxhzdk21">XML input <a id="XML+input"></a></h3>
+<h3 id="xml-input-wzxhzdk21wzxhzdk22">XML input <a id="XML+input"></a></h3>
 <ul>
 <li>
 <p>various ways to supply FOP with the xsl:fo file, fo, xml+xsl</p>
@@ -385,7 +385,7 @@ $(document).ready(function () {
 <p>sax handler</p>
 </li>
 </ul>
-<h3 id="general-options-wzxhzdk22wzxhzdk23">general options <a id="general+options"></a></h3>
+<h3 id="general-options-wzxhzdk23wzxhzdk24">general options <a id="general+options"></a></h3>
 <ul>
 <li>
 <p>base url</p>
@@ -397,7 +397,7 @@ $(document).ready(function () {
 <p>which implementation of a particular LayoutManager to use</p>
 </li>
 </ul>
-<h3 id="rendering-options-wzxhzdk24wzxhzdk25">Rendering Options <a id="Rendering+Options"></a></h3>
+<h3 id="rendering-options-wzxhzdk25wzxhzdk26">Rendering Options <a id="Rendering+Options"></a></h3>
 <ul>
 <li>
 <p>embedding fonts</p>
@@ -421,7 +421,7 @@ $(document).ready(function () {
 <p>binary/ascii switch</p>
 </li>
 </ul>
-<h3 id="render-results-wzxhzdk26wzxhzdk27">Render Results <a id="Render+Results"></a></h3>
+<h3 id="render-results-wzxhzdk27wzxhzdk28">Render Results <a id="Render+Results"></a></h3>
 <p>Generate Output statistics from FOP:</p>
 <ul>
 <li>
@@ -437,9 +437,9 @@ $(document).ready(function () {
 <p>recoverable errors such as overflow</p>
 </li>
 </ul>
-<h3 id="setting-up-wzxhzdk28wzxhzdk29">Setting Up <a id="Setting+Up"></a></h3>
+<h3 id="setting-up-wzxhzdk29wzxhzdk30">Setting Up <a id="Setting+Up"></a></h3>
 <p>The Driver handles the XML input. The user agent information is through the FOUserAgent. Handle logging through the user agent. Options could also be handled through the user agent, using mime type selection for renderer options.</p>
-<h3 id="others-wzxhzdk30wzxhzdk31">Others <a id="Others"></a></h3>
+<h3 id="others-wzxhzdk31wzxhzdk32">Others <a id="Others"></a></h3>
 <p>Render to more than one renderer at once (maybe not from the command line). For example you could generate a PDF for the archive and the PS for the printer in one run. It would probably be faster than converting the PDF to PostScript afterwards. Make the fo tree reuseable. If the fonts are the same then use the same area tree to output to different renderers.</p>
 <p>Several code pieces for resolving URLs and/or file locations are scattered all over FOP and Batik. These should be replaced with an URIResolver invocation to unify behaviour and remove redundancies.</p></div>
       </div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/index.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/index.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/index.html Sat Dec  1 06:46:26 2012
@@ -349,7 +349,7 @@ The articles in this section pertain mai
 <table>
 <thead>
 <tr>
-<th><caption>Apache� FOP from a User's Standpoint</caption></th>
+<th><caption>Apache&trade; FOP from a User's Standpoint</caption></th>
 <th>Process</th>
 <th>Result</th>
 <th></th>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html Sat Dec  1 06:46:26 2012
@@ -342,11 +342,11 @@ $(document).ready(function () {
         </div>
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-implementation-overview">Apache&trade; FOP Development: Implementation Overview</h1>
-<p><subtitle>Following a Document Through Apache� FOP</subtitle><version>$Revision: 1298724 $</version><authors><person email="" name="Arved Sandstrom"></person></authors></p>
+<p><subtitle>Following a Document Through Apache&trade; FOP</subtitle><authors><person email="" name="Arved Sandstrom"></person></authors></p>
 <p>The purpose of this document is to tie together the Apache&trade; FOP design (interface) with some of the key points where control is passed within FOP (implementation), so that developers can quickly find the section of code that is relevant to their needs. The process described is for a "typical" command-line document. All classes are in org.apache.fop unless otherwise designated.</p>
-<h2 id="overview-wzxhzdk10wzxhzdk11">Overview <a id="Overview"></a></h2>
+<h2 id="overview-wzxhzdk9wzxhzdk10">Overview <a id="Overview"></a></h2>
 <p>The input FO document is sent to the FO tree builder via SAX events. Fragments of an FO Tree are built from this process. As each page-sequence element is completed, it is passed to a layout processor, which in turn converts it into an Area Tree. The Area Tree is then given to the Renderer, which converts it into a stream of data containing the output document. The sections below will provide additional details. Where needed differences between the trunk and maintenance branches are shown in tabular format.</p>
-<h2 id="startup-wzxhzdk12wzxhzdk13">Startup <a id="Startup"></a></h2>
+<h2 id="startup-wzxhzdk11wzxhzdk12">Startup <a id="Startup"></a></h2>
 <ul>
 <li>
 <p>The job starts in <em>apps.Fop.main()</em> .</p>
@@ -358,7 +358,7 @@ $(document).ready(function () {
 <p>Control is passed to <em>apps.Driver.render()</em> . This class fires up a SAX parser, the events from which indirectly control the remaining processing, including building the FO Tree, building the Area Tree, rendering, output and logging.</p>
 </li>
 </ul>
-<h2 id="formatting-object-tree-wzxhzdk14wzxhzdk15">Formatting Object Tree <a id="Formatting+Object+Tree"></a></h2>
+<h2 id="formatting-object-tree-wzxhzdk13wzxhzdk14">Formatting Object Tree <a id="Formatting+Object+Tree"></a></h2>
 <table>
 <thead>
 <tr>
@@ -389,12 +389,12 @@ $(document).ready(function () {
 </tr>
 </tbody>
 </table>
-<h2 id="layout-wzxhzdk16wzxhzdk17">Layout <a id="Layout"></a></h2>
+<h2 id="layout-wzxhzdk15wzxhzdk16">Layout <a id="Layout"></a></h2>
 <p>There are layout managers for each type of layout decision. They take an FO Tree as input and build a laid-out Area Tree from it. The layout process involves finding out where line breaks and page breaks should be made, then creating the areas on the page. Static areas can then be added for any static regions. As pages are completed, they are added to the Area Tree.</p>
-<h2 id="area-tree-wzxhzdk18wzxhzdk19">Area Tree <a id="Area+Tree"></a></h2>
+<h2 id="area-tree-wzxhzdk17wzxhzdk18">Area Tree <a id="Area+Tree"></a></h2>
 <p>The area tree is a data structure designed to hold the page areas. These pages are then filled with the page regions and various areas. The area tree is used primarily as a minimal structure that can be rendered by the renderers.</p>
 <p>The area tree is supported by an area tree model. This model handles the adding of pages to the area tree. It also handles page sequence starts, document level extensions, id references and unresolved id areas. This model allows the pages to be handled directly by a renderer or to store the pages for later use.</p>
-<h2 id="rendering-wzxhzdk20wzxhzdk21">Rendering <a id="Rendering"></a></h2>
+<h2 id="rendering-wzxhzdk19wzxhzdk20">Rendering <a id="Rendering"></a></h2>
 <p>The renderer receives pages from the area tree and renders those pages. If a renderer supports out of order rendering then it will either render or prepare a page in the correct order. Otherwise the pages are rendered in order. The task of the renderer is to take the pages and output them to the requested type. In the case of the AWTRenderer it needs to be able to view any page.</p>
 <p>When rendering a page it takes the page and renders each page region. The main work for a renderer implementation is to handle the viewports and inline areas. The inline areas need to be drawn on the page in the correct place.</p></div>
       </div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html Sat Dec  1 06:46:26 2012
@@ -356,29 +356,29 @@ $(document).ready(function () {
 <h2 id="basicapi-testing-wzxhzdk6wzxhzdk7">Basic/API Testing <a id="basic"></a></h2>
 <p>There is a group of basic API tests that are included in the build process. For these tests to occur, JUnit must be available to Ant (simply copy junit.jar into Ant's lib directory). The build will then report error(s) if the high-level APIs for Driver and the Transcoders fail. The tests do not check the output, but only ensure that something is generated and without exceptions.</p>
 <h2 id="layout-engine-testing-wzxhzdk8wzxhzdk9">Layout Engine Testing <a id="layoutengine"></a></h2>
-<p>The <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/">http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/</a> directory in the repository contains a test suite for checking the functionality of Apache� FOP's layout engine. For information on how to create test cases for the layout engine, please visit the <a href="http://wiki.apache.org/xmlgraphics-fop/HowToCreateLayoutEngineTests">Wiki page</a> .</p>
-<h2 id="functional-testing-wzxhzdk10wzxhzdk11">Functional Testing <a id="functional"></a></h2>
+<p>The <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/">http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/</a> directory in the repository contains a test suite for checking the functionality of Apache&trade; FOP's layout engine. For information on how to create test cases for the layout engine, please visit the <a href="http://wiki.apache.org/xmlgraphics-fop/HowToCreateLayoutEngineTests">Wiki page</a> .</p>
+<h2 id="functional-testing-wzxhzdk11wzxhzdk12">Functional Testing <a id="functional"></a></h2>
 <p><warning>The "functional" testing section on this page is currently inoperative.</warning></p>
-<h2 id="running-and-using-tests-wzxhzdk14wzxhzdk15">Running and Using Tests <a id="Running+and+Using+Tests"></a></h2>
+<h2 id="running-and-using-tests-wzxhzdk15wzxhzdk16">Running and Using Tests <a id="Running+and+Using+Tests"></a></h2>
 <p>Testing is an important part of getting FOP to operate correctly and conform to the necessary standards.</p>
 <p>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.</p>
 <p>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.</p>
-<h3 id="w3c-testsuite-wzxhzdk17wzxhzdk18">W3C TestSuite <a id="W3C+TestSuite"></a></h3>
+<h3 id="w3c-testsuite-wzxhzdk18wzxhzdk19">W3C TestSuite <a id="W3C+TestSuite"></a></h3>
 <p>The testing is set up so that you can download the testsuite from<jump href="http://www.w3.org/Style/XSL/TestSuite/">http://www.w3.org/Style/XSL/TestSuite/</jump>, 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 itwill run through all the tests in the testsuite distribution.</p>
-<h3 id="writing-a-test-wzxhzdk21wzxhzdk22">Writing a Test <a id="Writing+a+Test"></a></h3>
+<h3 id="writing-a-test-wzxhzdk22wzxhzdk23">Writing a Test <a id="Writing+a+Test"></a></h3>
 <p>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.</p>
 <p>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.</p>
 <p>A system test is one that tests the abitlity of FOP to handle a number of different elements together.</p>
 <p>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.</p>
-<h3 id="submitting-a-test-wzxhzdk23wzxhzdk24">Submitting a Test <a id="Submitting+a+Test"></a></h3>
+<h3 id="submitting-a-test-wzxhzdk24wzxhzdk25">Submitting a Test <a id="Submitting+a+Test"></a></h3>
 <p>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.</p>
-<h3 id="how-testing-works-wzxhzdk25wzxhzdk26">How Testing Works <a id="How+Testing+Works"></a></h3>
+<h3 id="how-testing-works-wzxhzdk26wzxhzdk27">How Testing Works <a id="How+Testing+Works"></a></h3>
 <p>The tests are stored in the "<svn_repository>/test" directory.</p>
 <p>You can run the tests by specifying the build target "test" ie:<br></br> <code>ant.sh test</code> (Unix)<br></br> <code>ant test</code> (Windows)<br></br></p>
 <p>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.</p>
 <p>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.</p>
 <p>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.</p>
-<h3 id="svg-testing-wzxhzdk34wzxhzdk35">SVG Testing <a id="SVG+Testing"></a></h3>
+<h3 id="svg-testing-wzxhzdk35wzxhzdk36">SVG Testing <a id="SVG+Testing"></a></h3>
 <p>The testing of SVG is not part of this testing system. SVG is tested for its rendering accuracy by using the transcoding mechanism via <a href="http://xmlgraphics.apache.org/batik/">Apache Batik</a> . So that the only part that needs testing is how the SVG image is embedded inside the flow of the fo document.</p></div>
       </div>
       



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


Mime
View raw message