123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628 |
- <?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>
- <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>
- <fop version="1.0">
- <complex-scripts disabled="true"/>
- ...
- </fop>
- </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 <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#script"><code>script</code></a> property.</li>
- <li>The <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#language"><code>language</code></a> property.</li>
- <li>The <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#writing-mode"><code>writing-mode</code></a> property.</li>
- <li>The number to string conversion properties:
- <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#format"><code>format</code></a>,
- <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#grouping-separator"><code>grouping-separator</code></a>,
- <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#grouping-size"><code>grouping-size</code></a>,
- <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#letter-value"><code>letter-value</code></a>,
- and <code>fox:number-conversion-features</code>.</li>
- <li>The <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/#fo_bidi-override"><code>fo:bidi-override</code></a> 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>
- <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>
- <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&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&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>
- <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.w3.org/TR/2006/REC-xsl11-20061205/#fo_bidi-override">Unicode Bidirectional Algorithm</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&item_id=CmplxRndExamples">Examples of Complex Rendering</a></li>
- </ul>
- </section>
- </body>
- </document>
|