]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
add complex script feature documentation
authorGlenn Adams <gadams@apache.org>
Tue, 3 Apr 2012 04:33:34 +0000 (04:33 +0000)
committerGlenn Adams <gadams@apache.org>
Tue, 3 Apr 2012 04:33:34 +0000 (04:33 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1308679 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/site.xml
src/documentation/content/xdocs/trunk/complexscripts.xml [new file with mode: 0644]
src/documentation/content/xdocs/trunk/running.xml
src/documentation/skinconf.xml

index d7ca6f5e1cf2256a9e0fe8275057e34cf87ad5a8..322f5e52cfa73e6d8f4a15502251dcf211567de2 100644 (file)
       <ant label="Ant Task" href="anttask.html"/>
     </using>
 
+    <!--
+        NOTA BENE NOTA BENE NOTA BENE 
+        The following features should be maintained in alphabetic order by
+        (displayed) label value.
+        NOTA BENE NOTA BENE NOTA BENE 
+    -->
     <features label="Features">
-      <output label="Output Targets" href="output.html"/>
-      <if label="Intermediate Format" href="intermediate.html"/>
-      <pdfencryption label="PDF Encryption" href="pdfencryption.html"/>
-      <pdfa label="PDF/A" href="pdfa.html"/>
-      <pdfx label="PDF/X" href="pdfx.html"/>
-      <graphics label="Graphics" href="graphics.html"/>
+      <accessibility label="Accessibility" href="accessibility.html"/>
+      <complexscripts label="Complex Scripts" href="complexscripts.html"/>
+      <events label="Events" href="events.html"/>
+      <extensions label="Extensions" href="extensions.html"/>
       <fonts label="Fonts" href="fonts.html"/>
+      <graphics label="Graphics" href="graphics.html"/>
       <hyphenation label="Hyphenation" href="hyphenation.html"/>    
-      <extensions label="Extensions" href="extensions.html"/>
-      <events label="Events" href="events.html"/>
+      <if label="Intermediate Format" href="intermediate.html"/>
       <metadata label="Metadata" href="metadata.html"/>
-      <accessibility label="Accessibility" href="accessibility.html"/>
+      <output label="Output Targets" href="output.html"/>
+      <pdfa label="PDF/A" href="pdfa.html"/>
+      <pdfx label="PDF/X" href="pdfx.html"/>
+      <pdfencryption label="PDF Encryption" href="pdfencryption.html"/>
     </features>
     
   </trunk>
diff --git a/src/documentation/content/xdocs/trunk/complexscripts.xml b/src/documentation/content/xdocs/trunk/complexscripts.xml
new file mode 100644 (file)
index 0000000..255bdc5
--- /dev/null
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd">
+<document>
+  <header>
+    <title>Apache™ FOP: Complex Scripts</title>
+  </header>
+  <body id="complex_scripts">
+    <section id="overview">
+      <title>Overview</title>
+      <p>
+        This page describes the
+        <a href="http://en.wikipedia.org/wiki/Complex_scripts">complex scripts</a>
+        features of Apache™ FOP, which include:
+      </p>
+      <ul>
+        <li>Support for languages written with right-to-left scripts, such as Arabic and Hebrew scripts.</li>
+        <li>Support for languages written with South Asian and Southeast Asian scripts, such as Devanagari,
+          Khmer, Tamil, Thai, and others.</li>
+        <li>Support for advanced substitution, reordering, and positioning of glyphs according to language
+          and script sensitive rules.</li>
+        <li>Support for advanced number to string formatting.</li>
+      </ul>
+    </section>
+    <section>
+      <title>Disabling complex scripts</title>
+      <p>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:</p>
+      <ol>
+        <li>
+          <strong>Command line:</strong> The command line option <code>-nocs</code> turns off complex script
+          features: <code>fop -nocs -fo mydocument.fo -pdf mydocument.pdf</code>            
+        </li>
+        <li>
+          <strong>Embedding:</strong> <code>userAgent.setComplexScriptFeaturesEnabled(false);</code>
+        </li>
+        <li>
+          <strong>Optional setting in fop.xconf file:</strong>
+          <pre>
+&lt;fop version="1.0"&gt;
+  &lt;complex-scripts disabled="true"/&gt;
+  ...
+&lt;/fop&gt;
+          </pre>
+        </li>
+      </ol>
+      <p>
+        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.
+      </p>
+      <note>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.</note>
+    </section>
+    <section id="source">
+      <title>Changes to your XSL-FO input files</title>
+      <p>
+        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:
+      </p>
+      <ul>
+        <li>The <code>script</code> property.</li>
+        <li>The <code>language</code> property.</li>
+        <li>The <code>writing-mode</code> property.</li>
+        <li>The number to string conversion properties:
+          <code>format</code>,
+          <code>grouping-separator</code>,
+          <code>grouping-separator</code>,
+          <code>grouping-size</code>,
+          <code>letter-value</code>,
+          and <code>fox:number-conversion-features</code>.</li>
+        <li>The <code>fo:bidi-override</code> element.</li>
+        <li>Explicit bidirectional control characters: U+200E LRM, U+200F RLM, U+202A LRE,
+          U+202B RLE, U+202C PDF, U+202D LRO, U+202E RLO.</li>
+        <li>Explicit join control characters: U+200C ZWNJ and U+200D ZWJ.</li>
+      </ul>
+    </section>
+    <section id="details">
+      <title>Authoring Details</title>
+      <p>The complex scripts related effects of the above enumerated XSL-FO constructs are more
+        fully described in the following sub-sections.</p>
+      <section id="script_property">
+        <title>Script Property</title>
+        <p>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:
+        </p>
+        <ol>
+          <li>If the FO element that governs the text specifies a
+            <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#script"><code>script</code></a>
+            property and its value is not the empty string or <code>"auto"</code>, then that script is used.</li>
+          <li>Otherwise, the dominant script of the text is determined automatically by finding the
+            script whose constituent characters appear most frequently in the text.</li>
+        </ol>
+        <p>In case the automatic algorithm does not produce the desired results, an author may
+          explicitly specify a <code>script</code> property with the desired script. If specified,
+          it must be one of the four-letter script code specified in
+          <a href="http://unicode.org/iso15924/iso15924-codes.html">ISO 15924 Code List</a> or
+          in the <a href="#extended_script_codes">Extended Script Codes</a> 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.</p>
+        <section id="standard_script_codes">
+          <title>Standard Script Codes</title>
+          <p>The following table enumerates the standard ISO 15924 4-letter codes recognized by FOP.</p>
+          <table class="ForrestTable tw30">
+            <tr>
+              <th style="text-align:center">Code</th>
+              <th style="text-align:left">Script</th>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>arab</code></td>
+              <td>Arabic</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>beng</code></td>
+              <td>Bengali</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>bopo</code></td>
+              <td>Bopomofo</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>cyrl</code></td>
+              <td>Cyrillic</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>deva</code></td>
+              <td>Devanagari</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>ethi</code></td>
+              <td>Ethiopic</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>geor</code></td>
+              <td>Georgian</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>grek</code></td>
+              <td>Greek</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>gujr</code></td>
+              <td>Gujarati</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>guru</code></td>
+              <td>Gurmukhi</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>hang</code></td>
+              <td>Hangul</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>hani</code></td>
+              <td>Han</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>hebr</code></td>
+              <td>Hebrew</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>hira</code></td>
+              <td>Hiragana</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>kana</code></td>
+              <td>Katakana</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>knda</code></td>
+              <td>Kannada</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>khmr</code></td>
+              <td>Khmer</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>laoo</code></td>
+              <td>Lao</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>latn</code></td>
+              <td>Latin</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>mlym</code></td>
+              <td>Malayalam</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>mymr</code></td>
+              <td>Burmese</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>mong</code></td>
+              <td>Mongolian</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>orya</code></td>
+              <td>Oriya</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>sinh</code></td>
+              <td>Sinhalese</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>taml</code></td>
+              <td>Tamil</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>telu</code></td>
+              <td>Telugu</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>thai</code></td>
+              <td>Thai</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>tibt</code></td>
+              <td>Tibetan</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>zmth</code></td>
+              <td>Math</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>zsym</code></td>
+              <td>Symbol</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>zyyy</code></td>
+              <td>Undetermined</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>zzzz</code></td>
+              <td>Uncoded</td>
+            </tr>
+          </table>
+        </section>
+        <section id="extended_script_codes">
+          <title>Extended Script Codes</title>
+          <p>The following table enumerates a number of non-standard extended script codes recognized by FOP.</p>
+          <table class="ForrestTable tw70">
+            <colgrp>
+              <col style="width:10%"/>
+              <col style="width:20%"/>
+              <col style="width:80%"/>
+            </colgrp>
+            <tr>
+              <th>Code</th>
+              <th>Script</th>
+              <th>Comments</th>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>bng2</code></td>
+              <td>Bengali</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>dev2</code></td>
+              <td>Devanagari</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>gur2</code></td>
+              <td>Gurmukhi</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>gjr2</code></td>
+              <td>Gujarati</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>knd2</code></td>
+              <td>Kannada</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>mlm2</code></td>
+              <td>Malayalam</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>ory2</code></td>
+              <td>Oriya</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>tml2</code></td>
+              <td>Tamil</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+            <tr>
+              <td style="text-align:center"><code>tel2</code></td>
+              <td>Telugu</td>
+              <td>OpenType Indic Version 2 (May 2008 and following) behavior.</td>
+            </tr>
+          </table>
+          <warning>
+            Explicit use of one of the above extended script codes is not portable,
+            and should be limited to use with FOP only.
+          </warning>
+          <note>
+            When performing automatic script determination, FOP selects the OpenType Indic
+            Version 2 script codes by default. If the author requires Version 1 behavior, then
+            an explicit, non-extension script code should be specified in a governing <code>script</code>
+            property.
+          </note>
+        </section>
+      </section>
+      <section id="language_property">
+        <title>Language Property</title>
+        <p>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 <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#language"><code>language</code></a>
+          property.</p>
+        <p>When specifying the <code>language</code> property, the value of the property must be either an
+          <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes">ISO639-2 3-letter code</a> or an
+          <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO639-1 2-letter code</a>.  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.</p>
+      </section>
+      <section id="writing_mode_property">
+        <title>Writing Mode Property</title>
+      </section>
+      <section id="number_conversion_properties">
+        <title>Number Conversion Properties</title>
+      </section>
+      <section id="bidi_override_element">
+        <title>Bidi Override Element</title>
+      </section>
+      <section id="bidi_controls">
+        <title>Bidi Control Characters</title>
+      </section>
+      <section id="join_controls">
+        <title>Join Control Characters</title>
+      </section>
+    </section>
+    <section id="supported_scripts">
+      <title>Supported Scripts</title>
+      <p>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.</p>
+      <table class="ForrestTable tw80">
+        <colgrp>
+          <col style="width: 15%"/>
+          <col style="width: 10%"/>
+          <col style="width: 10%"/>
+          <col style="width: 65%"/>
+        </colgrp>
+        <tr>
+          <th style="text-align:left">Script</th>
+          <th>Support</th>
+          <th>Tested</th>
+          <th style="text-align:left">Comments</th>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Arabic_alphabet">Arabic</a></td>
+          <td class="yes">full</td>
+          <td class="yes">full</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Bengali_alphabet">Bengali</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Burmese_alphabet">Burmese</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Devanagari_alphabet">Devanagari</a></td>
+          <td class="partial">partial</td>
+          <td class="partial">partial</td>
+          <td style="text-align:left">join controls (ZWJ, ZWNJ) not yet supported</td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Khmer_alphabet">Khmer</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Gujarati_alphabet">Gujarati</a></td>
+          <td class="partial">partial</td>
+          <td class="no">none</td>
+          <td style="text-align:left">pre-alpha</td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Gurmukhī_alphabet">Gurmukhi</a></td>
+          <td class="partial">partial</td>
+          <td class="no">none</td>
+          <td style="text-align:left">pre-alpha</td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Hebrew_alphabet">Hebrew</a></td>
+          <td class="yes">full</td>
+          <td class="partial">partial</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Kannada_alphabet">Kannada</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Lao_alphabet">Lao</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Malayalam_alphabet">Malayalam</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Mongolian_script">Mongolian</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Oriya_script">Oriya</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Tamil_alphabet">Tamil</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Telugu_alphabet">Telugu</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Tibetan_alphabet">Tibetan</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td><a href="http://en.wikipedia.org/wiki/Thai_alphabet">Thai</a></td>
+          <td class="no">none</td>
+          <td class="no">none</td>
+          <td></td>
+        </tr>
+      </table>
+    </section>
+    <section id="supported_fonts">
+      <title>Supported Fonts</title>
+      <p>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.</p>
+      <section id="fonts_arabic">
+        <title>Arabic Fonts</title>
+        <table class="ForrestTable tw80">
+          <colgrp>
+            <col style="width: 15%"/>
+            <col style="width: 10%"/>
+            <col style="width: 10%"/>
+            <col style="width: 65%"/>
+          </colgrp>
+          <tr>
+            <th style="text-align:left">Font</th>
+            <th style="text-align:left">Version</th>
+            <th style="text-align:center">Glyphs</th>
+            <th style="text-align:left">Comments</th>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=24">Arial Unicode MS</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1081">1.01</a></td>
+            <td style="text-align:center">50377</td>
+            <td>limited GPOS support</td>
+          </tr>
+          <tr>
+            <td><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=ArabicFonts">Lateef</a></td>
+            <td class="yes" style="text-align:left">1.0</td>
+            <td style="text-align:center">1147</td>
+            <td>language features for Kurdish (KUR), Sindhi (SND), Urdu (URD)</td>
+          </tr>
+          <tr>
+            <td><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=ArabicFonts">Scheherazade</a></td>
+            <td class="yes" style="text-align:left">1.0</td>
+            <td style="text-align:center">1197</td>
+            <td>language features for Kurdish (KUR), Sindhi (SND), Urdu (URD)</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=261">Simplified Arabic</a></td>
+            <td class="no" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=867">1.01</a></td>
+            <td/>
+            <td>contains invalid, out of order coverage table entries</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/font.aspx?FID=261">Simplified Arabic</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1645">5.00</a></td>
+            <td style="text-align:center">414</td>
+            <td>lacks GPOS support</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/font.aspx?FID=261">Simplified Arabic</a></td>
+            <td class="yes" style="text-align:left">5.92</td>
+            <td style="text-align:center">473</td>
+            <td>includes GPOS for advanced position adjustment</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=264">Traditional Arabic</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/family.aspx?FMID=877">1.01</a></td>
+            <td style="text-align:center">530</td>
+            <td>lacks GPOS support</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/font.aspx?FID=264">Traditional Arabic</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1658">5.00</a></td>
+            <td style="text-align:center">530</td>
+            <td>lacks GPOS support</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/font.aspx?FID=264">Traditional Arabic</a></td>
+            <td class="yes" style="text-align:left">5.92</td>
+            <td style="text-align:center">589</td>
+            <td>includes GPOS for advanced position adjustment</td>
+          </tr>
+        </table>
+      </section>
+      <section id="devanagari_fonts">
+        <title>Devanagari Fonts</title>
+        <table class="ForrestTable tw80">
+          <colgrp>
+            <col style="width: 15%"/>
+            <col style="width: 10%"/>
+            <col style="width: 10%"/>
+            <col style="width: 65%"/>
+          </colgrp>
+          <tr>
+            <th style="text-align:left">Font</th>
+            <th style="text-align:left">Version</th>
+            <th style="text-align:center">Glyphs</th>
+            <th style="text-align:left">Comments</th>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=370">Aparajita</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1700">1.00</a></td>
+            <td style="text-align:center">706</td>
+            <td/>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=374">Kokila</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1749">1.00</a></td>
+            <td style="text-align:center">706</td>
+            <td/>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=243">Mangal</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1759">5.01</a></td>
+            <td style="text-align:center">885</td>
+            <td>designed for use in user interfaces</td>
+          </tr>
+          <tr>
+            <td><a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=384">Utsaah</a></td>
+            <td class="yes" style="text-align:left"><a href="http://www.microsoft.com/typography/fonts/font.aspx?FMID=1811">1.00</a></td>
+            <td style="text-align:center">706</td>
+            <td/>
+          </tr>
+        </table>
+      </section>
+    </section>
+    <section id="limitations">
+      <title>Other Limitations</title>
+      <p>
+        Complex scripts support in Apache FOP is relatively new, so there are certain
+        limitations. Please help us identify and close any gaps.
+      </p>
+      <ul>
+        <li>Only the PDF output format fully supports complex scripts features at the present time.</li>
+        <li>Shaping context does not extend across an element boundary. This limitation prevents the use of
+        <code>fo:character</code>, <code>fo:inline</code> or <code>fo:wrapper</code> in order to colorize
+        individual Arabic letters without affecting shaping behavior across the element boundary.</li>
+      </ul>
+    </section>
+    <section id="links">
+      <title>Related Links</title>
+      <p>
+        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:
+      </p>
+      <ul>
+        <li><a href="http://www.unicode.org/">The Unicode Standard</a></li>
+        <li><a href="http://www.microsoft.com/typography/otspec/ttochap1.htm">OpenType Advanced Typographic Extensions</a></li>
+        <li><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;item_id=CmplxRndExamples">Examples of Complex Rendering</a></li>
+      </ul>
+    </section>
+  </body>
+</document>
index 6bfa6bb3f711d0a9e4328d367f98a15a4dc993ca..5e30bb25e45e6dac618d275ced45cd8f76a27134 100644 (file)
@@ -117,6 +117,7 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl
   -q                quiet mode
   -c cfg.xml        use additional configuration file cfg.xml
   -l lang           the language to use for user information
+  -nocs             disable complex script features
   -r                relaxed/less strict validation (where available)
   -dpi xxx          target resolution in dots per inch (dpi) where xxx is a number
   -s                for area tree XML, down to block areas only
@@ -366,4 +367,4 @@ Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl
       <p>If you have problems running FOP, please see the <a href="../gethelp.html">"How to get Help" page</a>.</p>
     </section>
   </body>
-</document>
\ No newline at end of file
+</document>
index 49348eb275358e51385b091de2dd30c1190841ea..c98041ed92e23b69b840f906199f8e4701049ab9 100644 (file)
@@ -148,6 +148,10 @@ See main/fresh-site/src/documentation/skinconf.xml for details.
     <!-- The normal content should be at natural size -->
     #content { font-size: 100%; }
 
+    .tw30 { width: 30% !important; }
+    .tw70 { width: 70% !important; }
+    .tw80 { width: 80% !important; }
+
     p.quote {
       margin-left: 2em;
       padding: .5em;