<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml20010916.dtd"> 
<document filename="RML_UserGuide_1_0.pdf"> 
<!-- Last Modified:             $Date$ -->
<!-- Document Version Number:   $Revision$            -->

<template pageSize="(595, 842)" 
        leftMargin="72" 
        showBoundary="0"
        title="RML User Guide"
        author="Reportlab Inc"
        >

    <pageTemplate id="cover">
    <pageGraphics>
        <setFont name="Times-Bold" size="48"/>
        <drawCentredString x="297" y="516">RML User Guide</drawCentredString>
        <setFont name="Times-Bold" size="12"/>
        <drawCentredString x="297" y="414">Report Markup Language (Version 1.0)</drawCentredString>

        <lines>
        72 132 523 132
        </lines>

        <image file="images/replogo.gif" x="155" y="626"/>

        <setFont name="Times-Roman" size="10"/>
        <drawString x="72" y="110">Lombard Business Park</drawString>
        <drawString x="72" y="98">8 Lombard Road</drawString>
        <drawString x="72" y="86">Wimbledon</drawString>
        <drawString x="72" y="74">London, ENGLAND SW19 3TZ</drawString>

        <drawRightString x="523" y="110">103 Bayard Street</drawRightString>
        <drawRightString x="523" y="98">New Brunswick</drawRightString>
        <drawRightString x="523" y="86">New Jersey, 08901</drawRightString>
        <drawRightString x="523" y="74">USA</drawRightString>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/>
    </pageTemplate>

    <pageTemplate id="contents">
    <pageGraphics>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/>
    </pageTemplate>

    <pageTemplate id="inside">
    <pageGraphics>
        <lines>
        72 796 523 796
        </lines>
        <setFont name="Times-Roman" size="10"/>
        <drawString x="72" y="808">RML User Guide</drawString>
        <drawRightString x="523" y="808">$Revision$</drawRightString>
        <drawCentredString x="297.5" y="60">Page <pageNumber/></drawCentredString>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/>
    </pageTemplate>

    <pageTemplate id="ColorsAppendix">
    <pageGraphics>
        <lines>
        72 796 523 796
        </lines>
        <setFont name="Times-Roman" size="10"/>
        <drawString x="72" y="808">RML User Guide</drawString>
        <drawRightString x="523" y="808">$Revision$</drawRightString>
        <drawCentredString x="297.5" y="60">Page <pageNumber/></drawCentredString>
    </pageGraphics>
    <frame id="title" x1="72" y1="717" width="451" height="66"/>
    <frame id="columnOne" x1="72" y1="72" width="212" height="641"/>
    <frame id="columnTwo" x1="311" y1="72" width="212" height="641"/>
    </pageTemplate> 

    <pageTemplate id="ColorsAppendixTwo">
    <pageGraphics>
        <lines>
        72 796 523 796
        </lines>
        <setFont name="Times-Roman" size="10"/>
        <drawString x="72" y="808">RML User Guide</drawString>
        <drawRightString x="523" y="808">$Revision$</drawRightString>
        <drawCentredString x="297.5" y="60">Page <pageNumber/></drawCentredString>
    </pageGraphics>
    <frame id="columnOne" x1="72" y1="72" width="212" height="707"/>
    <frame id="columnTwo" x1="311" y1="72" width="212" height="707"/>
    </pageTemplate> 


    <pageTemplate id="GreekAppendix">
    <pageGraphics>
        <lines>
        72 796 523 796
        </lines>
        <setFont name="Times-Roman" size="10"/>
        <drawString x="72" y="808">RML User Guide</drawString>
        <drawRightString x="523" y="808">$Revision$</drawRightString>
        <drawCentredString x="297.5" y="60">Page <pageNumber/></drawCentredString>
    </pageGraphics>
    <frame id="title" x1="72" y1="747" width="451" height="36"/>
    <frame id="columnOne" x1="45" y1="72" width="106" height="671"/>
    <frame id="columnTwo" x1="151" y1="72" width="106" height="671"/>
    <frame id="columnThree" x1="281" y1="72" width="106" height="671"/>
    <frame id="columnFour" x1="387" y1="72" width="106" height="671"/>
    </pageTemplate>

</template>

<stylesheet>
    <initialize>
            <name id="RMLVersionNumber" value="&RMLVersionNumber;"/>
            <name id="RMLDTDFileName" value="&RMLDTDFileName;"/>
            <name id="RMLVersionNumber" value="1.0"/>
            <name id="RMLDTDFileName" value="rml_1_0.dtd"/>
            <alias id="style.normal" value="style.Normal"/>
    </initialize>

    <blockTableStyle id="colorsTableStyle">
    <blockValign value="TOP" stop="(1,89)"/>
    <blockAlignment value="LEFT" stop="1,89"/>
    <blockFont name="Courier" size="8" leading="1"/>
    <blockLeading length="1" start="(1,1)" stop="(1,1)"/>
    <blockFont name="Courier-Bold" size="12" leading="12" start="(0, 0)" stop="(1, 0)"/>
    <blockFont name="Courier-Bold" size="12" leading="12" start="(0, 45)" stop="(1, 45)"/>
    </blockTableStyle>  

    <blockTableStyle id="colorsTableStylePageTwo">
    <blockValign value="TOP" stop="(1,27)"/>
    <blockAlignment value="LEFT" stop="1,27"/>
    <blockFont name="Courier" size="8" leading="1"/>
    <blockLeading length="1" start="(1,1)" stop="(1,1)"/>
    <blockFont name="Courier-Bold" size="12" leading="12" start="(0, 0)" stop="(1, 0)"/>
    </blockTableStyle>  
    
    <blockTableStyle id="myBlockTableStyle1">
        <!-- Used in Example 10                                      --> 
        <!-- for comments look in the annotated version later in doc -->
        <blockFont name="Courier-Bold" start="0,1" stop="-1,-1"/>
        <blockFont name="Helvetica-BoldOblique" size="24" start="0,0" stop="3,0"/>
        <blockTextColor colorName="black"/>
        <blockTextColor colorName="white" start="0,0" stop="3,0"/>
        <blockTextColor colorName="blue" start="1,1" stop="1,6"/>
        <blockBackground colorName="red" start="0,0" stop="3,0"/>
        <blockBackground colorName="cornsilk" start="0,1" stop="-1,-1"/>
        <blockBackground colorName="lightcoral" start="3,3" stop="3,3"/>
    </blockTableStyle>

    <blockTableStyle id="myBlockTableStyle2">
        <!-- This is for EXAMPLE 11 -->
        <blockFont name="Courier-Bold" size="10" start="0,1" stop="-1,-1"/>
        <blockFont name="Helvetica-BoldOblique" size="10" start="0,0" stop="3,0"/>
        <blockTextColor colorName="black"/>
        <blockTextColor colorName="green" start="2,2" stop="3,3"/>
        <blockAlignment value="CENTER"/>
        <blockAlignment value="RIGHT" start="3,0" stop="3,-1"/>
        <blockAlignment value="LEFT" start="0,1" stop="0,-1"/>
        <blockValign value="TOP" start="0,0" stop="-1,0"/>
        <blockValign value="MIDDLE" start="2,2" stop="3,3"/>
        <lineStyle kind="GRID" colorName="silver"/>
        <lineStyle kind="LINEBELOW" colorName="orangered" start="0,0" stop="-1,0" thickness="5"/>
        <lineStyle kind="LINEAFTER" colorName="maroon" start="1,1" stop="1,6" thickness="1"/>
    </blockTableStyle>
    
	<blockTableStyle id="myBlockTableStyle3">
		<!-- For use with EXAMPLE 12 -->
        <blockBackground colorName="silver" start="0,0" stop="-1,0"/>
        <blockBackground colorName="darkslategray" start="0,1" stop="-1,1"/>
        <blockBackground colorName="silver" start="0,2" stop="-1,2"/>
        <blockBackground colorName="darkslategray" start="0,3" stop="-1,3"/>
        <blockBackground colorName="silver" start="0,4" stop="-1,4"/>
        <blockBackground colorName="darkslategray" start="0,5" stop="-1,5"/>
        <blockAlignment value="CENTER"/>
        <blockValign value="MIDDLE"/>
		<blockFont name="Helvetica-BoldOblique" size="10"/>
        <blockLeftPadding length="20" start="0,0" stop="0,-1"/>
        <blockRightPadding length="20" start="2,0" stop="2,-1"/>
        <blockBottomPadding length="40" start="0,0" stop="-1,0"/>
        <blockTopPadding length="40" start="0,2" stop="-1,2"/>
        <blockBottomPadding length="40" start="-1,4" stop="-1,4"/>
        <blockTopPadding length="40" start="0,4" stop="0,4"/>
		<lineStyle kind="GRID" colorName="darkblue"/>
	</blockTableStyle>
	
    <paraStyle name="style.h1"
    fontName="Times-Bold"
    fontSize="20"
    leading="36"
    />

    <paraStyle name="style.h2"
    fontName="Times-Bold"
    fontSize="20"
    leading="36"
    />

    <paraStyle name="style.h3"
    fontName="Times-Bold"
    fontSize="12"
    leading="15"
    />

    <paraStyle name="contents"
    fontName="Times-Bold"
    fontSize="12"
    />

    <paraStyle name="contents2"
    fontName="Times-Roman"
    fontSize="12"
    leftIndent="20"
    />

    <paraStyle name="contents2a"
    fontName="Times-Roman"
    fontSize="12"
    leftIndent="20"
    spaceAfter="12"
    />

    <paraStyle name="contents2h"
    fontName="Times-Bold"
    fontSize="12"
    leftIndent="20"
    />
    
    <paraStyle name="contents3"
    fontName="Times-Roman"
    fontSize="12"
    leftIndent="40"
    />

    <paraStyle name="contents3a"
    fontName="Times-Roman"
    fontSize="12"
    leftIndent="40"
    spaceAfter="12"
    />

    <paraStyle name="contents3h"
    fontName="Times-Bold"
    fontSize="12"
    leftIndent="40"
    />

    <paraStyle name="style.Normal"
    fontName="Times-Roman"
    fontSize="10"
    leading="12"
    spaceAfter="12"
    firstLineIndent="0"
    />

    <paraStyle name="programListing"
    parent="style.Normal"
    fontName="Courier-Bold"
    fontSize="8"
	leading="10"
    spaceBefore="0"
    spaceAfter="0"
    textColor="darkblue"
    leftIndent="1.2cm"
    />

    <paraStyle name="programListingConventionLabel"
    parent="programListing"
	spaceAfter="0"
    leftIndent="0"
    />
	
    <paraStyle name="bulletList" 
    parent="style.Normal" 
    bulletFontName="ZapfDingbats"
    bulletFontSize="5"
    bulletIndent="20"
    leftIndent="35"
    spaceAfter="6"
    />

    <paraStyle name="bulletNospace" 
    parent="bulletList" 
    spaceAfter="0"
    />
    
    <paraStyle name="nospace" 
    spaceAfter="0"
    parent="style.Normal" 
    />
    
    <paraStyle name="figureCaption" 
    spaceBefore="0"
    spaceAfter="15"
    alignment="CENTER"
    fontSize="8"
    fontName="Times-Italic"
    />
    
    <paraStyle name="GreekPara" 
    parent="style.normal" 
    alignment="CENTER"
    />

    <paraStyle name="paddingTableStyle"
	fontName="Helvetica-BoldOblique"
	fontSize="10"
	textColor="white"
	alignment="CENTER"
	/>

</stylesheet>


<story>
<outlineAdd level="0">RML User Guide</outlineAdd>
<setNextTemplate name="cover"/>

<setNextTemplate name="contents"/>
<nextFrame/>

<h1>RML User Guide</h1>
<outlineAdd level="1">Contents</outlineAdd>

<h2>Contents</h2>
<para style="contents">
<name id="chapterNumber" value="1"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>.  
Introduction
</para>

<para style="contents2">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The ReportLab Enterprise Reporting Solution.
</para>

<para style="contents2">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Installation
</para>

<para style="contents2">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
What is RML?
</para>

<para style="contents2">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
What is this document?
</para>

<para style="contents2">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Who is this document aimed at?
</para>

<para style="contents2a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Conventions used in this document
</para>


<condPageBreak height="30"/>
<para style="contents">Part I - The Basics</para>
<para style="contents2h">
<name id="chapterNumber" value="2"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Pages and page structures
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
XML syntax and RML
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The prolog
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Document forms: "stylesheet/pageDrawing" <i>vs</i> "template/stylesheet/story"
</para>


<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="3"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Basic text operations
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Co-ordinates and measurements in RML
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using colors in RML
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using fonts in RML
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Basic text operations - setFont and drawString
</para>


<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="4"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Basics figures - lines and shapes
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Rect, circle, ellipse
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Fill and stroke
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Lines and lineMode
</para>


<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="5"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Graphics <i>vs</i> Flowables
</para>

<para style="contents3"> 
</para>

<!--
<para style="contents3">
Graphics
</para>

<para style="contents3a">
Flowables
</para>
-->

<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="6"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
More about pages and page structures
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Template and pageTemplate in more detail
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Frames and nextFrame
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;condPageBreak/&gt; tag
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
More about stylesheets
</para>

<condPageBreak height="30"/>


<para style="contents2h">
<name id="chapterNumber" value="7"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Advanced text
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Title
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Headings - h1, h2, h3
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Paragraphs and paraStyle
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;font&gt; tag
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Superscripts and subscripts
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using multiple frames
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;pre&gt; tag
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;greek&gt; tag
</para>


<condPageBreak height="30"/>
<para style="contents">Part II - Advanced Features</para>

<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="8"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Miscellaneous useful features
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
PageNumber
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Name and getName
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Seq and seqReset
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Entities
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Aliases
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
CDATA
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Plugins: plugInGraphics and plugInFlowables
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Integrating with PageCatcher: the &lt;catchForms&gt; tag
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Outlines: the &lt;outlineAdd&gt; tag
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Form field tags
</para>


<condPageBreak height="30"/>
<para style="contents2h">
<name id="chapterNumber" value="9"/>
<getName id="chapterNumber"/>
<seqReset id="sectionNumber"/>. 
More graphics
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Curves
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using paths
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;grid&gt; tag
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Translate
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Scale
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Rotate
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Skew
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Transform
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Things to consider when doing transform, scale, rotate and skew operations.
</para>


<condPageBreak height="30"/>
<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
&lt;image&gt; - using bitmapped images
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Place and illustration
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Spacer
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Form and doForm
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Why use forms?
</para>


<condPageBreak height="30"/>
<para style="contents">Part III - Tables</para>
<para style="contents2h">
<name id="chapterNumber" value="10"/>
<getName id="chapterNumber"/>
<seqReset id="sectionNumber"/>. 
Using tables
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
BlockTable
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using blockTable's optional attributes
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
BlockTableStyle
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
A couple of cautions about blockTables
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using blockTableStyle
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 10 - Colors and fonts in tables
</para>

<para style="contents3">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 11 - Lines and alignment in tables
</para>

<para style="contents3a">
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 12 - Images and padding in tables
</para>


<condPageBreak height="30"/>
<h2>Appendix A - Colors recognized by RML</h2>

<condPageBreak height="30"/>
<h2>Appendix B - Glossary of terms and abbreviations</h2>

<condPageBreak height="30"/>
<h2>Appendix C - Letters used by the Greek tag</h2>

<condPageBreak height="30"/>
<h2>Appendix D - Command reference</h2>

<setNextTemplate name="inside"/>
<nextFrame/>

<condPageBreak height="144"/>
<h1>
<name id="chapterNumber" value="1"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>.
Introduction
</h1>
<outlineAdd level="1">Introduction</outlineAdd>

<condPageBreak height="144"/>
<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The ReportLab Enterprise Reporting Solution
</h2>
<outlineAdd level="2">The ReportLab Enterprise Reporting Solution</outlineAdd>

<para>
ReportLab's solution solves several central problems that ebusinesses
face in creating publishing caliber reports that are customized,
produced in real time, in volume, and platform independent. Existing
reporting tools are limited to database reports, are typically
Windows-based,
have problematic restrictions on layout and graphic design, and
go straight to a printer.  More complex publishing systems
involve pipelines of applications which are simply too unwieldy for
real-time use in large scale environments
</para>

<para>
ReportLab's product suite allows direct creation of rich PDF reports
on web or application servers in real time. The tools run on any
platform, can actively acquire data from any source (XML, flat files,
databases, COM/Corba/Java), place no limits on the output, and
facilitate electronic delivery and archival.  The ReportLab suite
lets you define your own business rules to automatically create custom
online reports, catalogs, business forms, and other documents
</para>

<para>RML2PDF is a central component of the toolkit:
a translator which converts high level XML markup into PDF documents.
Report Markup Language describes the precise layout of a printed
document, and RML2PDF converts this to a finished document in
one step.  In a dedicated reporting application, other components 
of our toolkit handle data acquisition and preparation of
the RML document.
</para>

<para>
RML2PDF on its own also fills a key technology gap. Our full
toolkit relies heavily on the Python scripting language.  Nevertheless 
we recognize that IT departments and software houses have their 
own distinct skill sets and development tools.  A company may already
have developed a rich 3-tier architecture with the key business
data in Java or COM objects on an application server.  All they need
is the formatting component.  They can use exactly the same techniques
they use to generate HTML (XSLT, JSP, ASP or anything else) to
generate an RML file, and the program turns this into a finished
document.  Fast.
</para>

<para>
Unlike a number of other formatting languages, RML aims squarely at 
corporate needs.  Paragraph, table and page styles are kept in
independent 'stylesheets', allowing reuse and global changes
across a family of documents.  The table model has been designed
for efficient rendering of business data.  And a plug-in architecture
lets you easily develop and add in custom vector graphics or page
templates within the same tool set.
</para>

<para>
RML2PDF can also work in tandem with our PageCatcher product.
PageCatcher is a support tool which extracts graphical elements from 
PDF files for inclusion in documents generated by RML2PDF or the 
ReportLab core API.  Since any external program with the ability to 
print can produce PDF files, this means that a ReportLab document can 
include graphical elements created by virtually any program.  These 
imported elements can be combined freely with text or graphics drawn 
directly into the document.  For example an application can import 
pages from a government tax form and draw text in the spaces provided 
to fill in the form. The resulting document can then be combined with
a cover letter at the beginning and supporting tabular data at the end
-- all in a single PDF document.
</para>


<condPageBreak height="144"/>
<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Installation and Use
</h2>
<outlineAdd level="2">Installation and Use</outlineAdd>

<para>
RML2PDF is available in several formats: 
</para>
<para>
<b>RML2PDF as a stand-alone executable for
32 bit Windows:</b> This version is purely provided for evaluation
purposes.  Potential users can use this copy to evaluate the product
for possible use.  Please remember that since this standalone version
requires no installation step it is not as efficient as a licensed
installation -- in particular a licensed version will run somewhat faster.
</para>
<para>
<b>RML2PDF as a licensed executable compiled
for each operating system platform:</b> These versions provide a simple
installation that is easy to maintain and upgrade, appropriate for those
users who do not need to use the programming API, but only wish to use
RML2PDF as a stand-alone program.
</para>
<para>
<b>RML2PDF as a Python programming language module:</b> 
These versions provide both a command line interface
and a programmable API interface, and may be used as a component
of a larger Python language installation.  (Since Python integrates with
a wide variety of other languages, it is also possible to access RML2PDF
from C and C++ programs, COM and many other environments).

These versions also include
library modules which have been compiled for each platform.  This style of
installation
provides the greatest flexibility, but it also requires more effort
to administer and maintain.  You need this style of
installation if you wish to build additional
plug-in components for RML2PDF or if you wish to use RML2PDF seamlessly
as a built in component of other Python programs or applications.
</para>
<para>We or our resellers can advise on the best installation for
a particular need and assist with building installations for
specific platforms.</para>
<para>
In all cases RML2PDF requires a license key file to work in production mode.
Without the license key each page produced by RML2PDF will be visibly marked
as an "evaluation" copy and the file will be annotated invisibly as produced
for evaluation purposes as well.  With a valid license key file present
RML2PDF will run in production mode and the PDF file generated will contain
the licensing information.  The license key file must be named <b>RML2PDFLicense.py</b> and 
placed in the same directory with the rml2pdf program.
</para>

<h3>Running RML2PDF</h3>
<outlineAdd level="3">Running RML2PDF</outlineAdd>

<para>
RML2PDF is normally run from the command line like so:
</para>
<pre>
   prompt> rml2pdf filename.rml

</pre>

<spacer length="10"/>
<para>This assumes that either you are using the .exe version of the 
program, or that your system is set up so that it recognises that a 
file with a .py or .pyc extension is a Python script and
automatically uses Python to execute it. If this is not the case try 
typing the following:
</para>
<pre>
   prompt> python rml2pdf.pyc filename.rml

</pre>

<spacer length="10"/>
<para>
After completing successfully the rml2pdf program will respond with
a single line which lists a path to the PDF output file generated by the program
(as specified in the file's RML text).
</para>
<pre>
   directory/outputfilename.pdf

</pre>

<spacer length="10"/>

<h3>Calling RML2PDF from Python</h3>
<outlineAdd level="3">Calling RML2PDF from Python</outlineAdd>

<para>
For installations which have the Python module style of installation, RML2PDF can also
be called directly from a Python program using the rml2pdf.go(...) entry point.
The go function has the following interface:
</para>
<pre>
    def go(xmlInputText, outputFileName=None, outDir=None, dtdDir=None):

</pre>

<spacer length="10"/>
<para>
The xml input text must be a string which contains the RML specification
for the PDF document to be generated.
The output file name when specified overrides any output file name specified
in the xml input text.  The output directory parameter when present specifies
the directory in which to place the output file, and the 
optional DTD directory parameter
specifies the directory containing the DTD for the current version of RML.
</para>
<para>
It is also possible to call rml2pdf from other programming languages
(such as C++) by using standard methods for calling a python callable.
See the Python Language Embedding and Extension manuals.
</para>
<para>
For further information regarding the installation of your version of RML2PDF
please see the release notes and READMEs that come with the package.
</para>

<condPageBreak height="144"/>
<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
What is RML?
</h2>
<outlineAdd level="2">What is RML?</outlineAdd>

<para>
RML is the Report Markup Language - a member of the XML family of 
languages, and the XML dialect used by rml2pdf to produce documents in 
Adobe's Portable Document Format (PDF).
</para>

<para>
RML documents can be written automatically by a program or manually 
using any word processor that can output text files (e.g. using a "Save 
as Text" option from the save menu). Since RML documents are basic 
text files, they can be created on the fly by scripts in Python, Perl, 
or almost any other language.
</para>

<para>
RML makes creating documents in PDF as simple as creating a basic web 
page - RML is as easy to write as HTML, and uses "tags" just like 
HTML. It is <i>much</i> easier than trying to write PDF programmatically. 
</para>

<condPageBreak height="144"/>
<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
What is this document?
</h2>
<outlineAdd level="2">What is this document?</outlineAdd>

<para>
This document is a user guide and tutorial for RML. It deals with RML 
Version <getName id="RMLVersionNumber"/> as specified in the RML 
<getName id="RMLVersionNumber"/> DTD - <getName id="RMLDTDFileName"/>. 
If your installation of RML uses a later version, you will need a 
later version of the DTD and of this tutorial. Look on the ReportLab 
website (http://www.reportlab.com) for more details. 
</para>

<para>
This document has been generated from RML. If you need another example 
of RML in action, look at the file "rml_user_guide.rml" to see how this 
file was produced.
</para>

<para>
[<b>NOTE</b>: This is not the final definitive version of the 
documentation for this package - at the present moment in time, both 
RML and this document can be seen as "works in progress". This 
document will be improved over time]. 
</para>

<condPageBreak height="144"/>
<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Who is this document aimed at?
</h2>
<outlineAdd level="2">Who is this document aimed at?</outlineAdd>

<para>
This document is aimed at anyone who needs to write RML. It assumes 
that you have some experience with some form of programming or 
scripting. Basic HTML is fine.
</para>
<para>
You do <i>not</i> have to be employed as a programmer or have 
extensive programming skills for this guide to make sense. We have 
tried to keep it as simple as possible and to minimise confusion.
</para>                                                     

<h2>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Conventions used in this document
</h2>
<outlineAdd level="2">Conventions used in this document</outlineAdd>

<para>
It is more technically correct to call the various items in RML "elements", as you do in XML. 
However, since we're assuming that more people know basic HTML than XML, we'll call them 
"tags" rather than entities in this guide. 
</para>
<para>
There are also a couple of typographical conventions we'll be using:
</para>

<para style="nospace">
<font face="Courier">constant width</font>
</para>

<para style="bulletList" bulletText="">
Throughout this User Guide, we'll be using a <font face="Courier">constant width</font> typeface to highlight any 
literal element of RML (such as tag names or attributes for tags) when they appear in the text. 
</para>

<pre style="programListingConventionLabel">
<![CDATA[8 point Courier]]>
</pre>

<para style="bulletList" bulletText="">
A smaller constant width font is used for code snippets (short one or two line examples of what RML commands look like) 
and code examples (longer examples of RML which usually have an illustration of the output they produce).
</para>

<nextFrame/>

<condPageBreak height="144"/>
<h1>Part I - The Basics</h1>
<outlineAdd level="1">Part I-The Basics</outlineAdd>

<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="2"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Pages and page structures
</h2>
<outlineAdd level="2">Pages and page structures</outlineAdd>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
XML syntax and RML
</h3>
<outlineAdd level="3">XML syntax and RML</outlineAdd>

<para>
As with every XML dialect, RML requires correct XML syntax. If you are 
familiar with HTML, you should pay special attention to the 
differences between XML syntax and some of the more forgiving 
constructs allowed in HTML.
</para>

<para style="bulletList" bulletText="l">
Attribute values must be enclosed in quotation marks. (e.g. you would 
have to use
<font face="Courier">&lt;document filename="outfile.pdf"&gt;,</font>
since you couldn't get away with
<font face="Courier">&lt;document filename=outfile.pdf&gt;</font>
</para>
<para style="bulletList" bulletText="l">
    A non-empty element must have both an opening and a closing tag. 
    (e.g. a <font face="Courier">&lt;document&gt;</font> tag must be matched by a 
    matching <font face="Courier">&lt;/document&gt;</font> tag).  
    "Empty" elements are those that don't have any content, and are closed  
    with a <font face="Courier">"/&gt;"</font> at the end of the <i>same</i> tag rather than having a separate   
    closing tag. (e.g. <font face="Courier">&lt;getName id="Header.Title"/&gt;</font>)
</para>
<para style="bulletList" bulletText="l">
    Tags must be nested correctly. 
    (i.e. "<font face="Courier">&lt;b&gt;&lt;i&gt;text&lt;/b&gt;&lt;/i&gt;</font>" isn't valid, 
    but "<font face="Courier">&lt;b&gt;&lt;i&gt;text&lt;/i&gt;&lt;/b&gt;</font>" is.)
</para>
<para style="bulletList" bulletText="l">
On the whole, whitespace is ignored in RML. Except inside strings, you can format 
    and indent your RML documents in whatever way you consider most readable. 
    (Inside text strings, whitespace is seen as equivalent to a single space and 
    line breaks are added automatically as needed during formatting. Other than 
    that, what you type is what is displayed on the page).
</para>

<para style="bulletList" bulletText="l">
RML is case-sensitive. "Upper Case" is different from "upper case", "UPPER CASE" 
    and "UpPeR CaSe". The capitalization in the tag names is important.
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The prolog
</h3>
<outlineAdd level="3">The prolog</outlineAdd>

<para>
Every RML document must start with a number of lines:
</para>

<pre style="programListing">
<![CDATA[
    <?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
    <!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
]]>
    
</pre>

<spacer length="15"/>

<para>
This is called the prolog - you can think of it as the
document 'header'.
</para>

<para style="nospace">
<font face="Courier">&lt;?xml ... standalone="no" ?&gt;</font>
</para><para style="bulletList" bulletText="">
This line is the XML declaration. This is optional, but recommended.
</para>

<para style="nospace">
<font face="Courier">version="1.0"</font>
</para><para style="bulletList" bulletText="">
    This attribute tells the parser which version of XML it
    should use - in this case 1.0.
</para>

<para style="nospace">
<font face="Courier">standalone="no"</font>
</para><para style="bulletList" bulletText="">
    This tells the parser that it needs an external Document Type Definition  
    (more on DTDs below).
</para>

<para style="nospace">
<font face="Courier">encoding="iso-8859-1"</font>
</para><para style="bulletList" bulletText="">
    The "encoding" attribute sets the encoding you want the PDF file to use. 
    ISO-8859-1 is the character set otherwise known as "US-ASCII" - this 
    encodes the set of characters known as "Latin-1"(or "Latin Alphabet No 1") 
    and covers the characters from most Western European Languages, as well as 
    some control characters and graphical characters. RML <getName id="RMLVersionNumber"/> <i>only</i> allows you to
    use Latin-1 encoding, though this may change in future. (RML currently 
	also doesn't support Unicode, though we do intend to support it in the future).
</para>

<para style="nospace">
<font face="Courier">&lt;!DOCTYPE... "rml_1_0.dtd"&gt;</font>
</para><para style="bulletList" bulletText="">
    This line tells the parser where the
    Document Type Definition is located. The 
    DTD formally specifies the syntax of RML.
</para>

<para style="bulletList" bulletText="">
    For documents written in RML, the DTD should always be 
    the current version of rml.dtd. (The rml DTD should always 
    be called rml_<i>X</i>_<i>X</i>.dtd, where the Xs are replaced by the 
    version number. So, since the current version of RML is 
    <getName id="RMLVersionNumber"/>, the DTD is called <getName id="RMLDTDFileName"/>).
</para>

<para style="bulletList" bulletText="">
Unlike other dialects of XML, RML does <i>not</i> allow you to provide 
relative paths to the DTD, nor a full URL. It must always be the name 
of the DTD, which <i>must</i> live in the same directory as the exe or 
python program rml2pdf.
</para>
<para style="bulletList" bulletText="">
This makes it easy to predict where the RML DTD will be and prevents 
you using an old DTD that happens to be sitting around your disk 
somewhere. It also allows us to make sure that when you create a file with RML, 
the PDF document will be created in the same directory as the RML 
file, and to allow relative pathnames in the document tag.
</para>

<para>
The prolog section is common to all XML documents. In addition to 
this, RML requires another line following the prolog:
</para>

<para style="nospace">
<font face="Courier">
"&lt;document filename="outfile.pdf"&gt;"</font>
</para><para style="bulletList" bulletText="">
This line gives the name that you want the output PDF file created with. This line
also starts the document proper - and must be matched by a
<font face="Courier">&lt;/document&gt;</font> tag as the last line in the document, in the
same way that an HTML file is bracketed by &lt;HTML&gt; and
&lt;/HTML&gt;. 
</para>

<para style="bulletList" bulletText="">
The filename you give can just be a simple filename, a relative path 
(<i>eg</i>
<font face="Courier">
..\..\myDoc.pdf 
</font>
will create it in the directory two levels up from the one your RML 
document is in), or a full pathname (<i>eg</i> 
<font face="Courier">
C:\output_files\pdf\myProject\myDocument.pdf                    
</font> or
<font face="Courier">
/tmp/user1/myScratchFile.pdf                    
</font>). If you just supply a filename, the output file will be  
created in the same directory as your RML file. (The same principle 
works with anywhere else you may need to give a filename - they are 
relative to where the document lives on your disk, not to where 
rml2pdf is).
</para>

                                                       
<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Document forms: "stylesheet/pageDrawing" <i>vs</i> "template/stylesheet/story"
</h3>
<outlineAdd level="3">Document forms</outlineAdd>

<para>
There are two possible valid structures for your document
to have, depending on how simple you want it to be.
</para>

<para>                                    
For very simple documents, you need the prolog, followed by a 
stylesheet and any number of <font face="Courier">pageDrawing</font>s. A <font face="Courier">pageDrawing</font> is a 
graphical element on the page, or simple text string (i.e. it is just 
placed onto the page in the location you specify, and no attempt is 
made to check if it flows off the page).
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 1

<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_1.pdf">

<stylesheet>
</stylesheet>

<pageDrawing>
    <drawCentredString x="4.1in" y="5.8in">
        Hello World.
    </drawCentredString>
</pageDrawing>

</document>

]]>
</pre>

<spacer length="15"/>

<para>                                    
(All the examples given in this tutorial can be found as *.rml files 
in the same directory as this tutorial.)
</para>

<illustration width="350" height="333">
    <image file="images/Example_1b.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure  <seq id="figureNumber"/>: Output from EXAMPLE 1
</para>

<para>                                    
This is the most basic RML document you can get. It is the traditional 
"Hello World". All it does is place the string of text "Hello World" 
into the middle of your A4 page. Not very useful in the real world, 
but enough to show you how simple RML can be.
</para>

<para>                                    
Notice how it does have a <font face="Courier">stylesheet</font>, but it is empty. <font face="Courier">Stylesheet</font>s are 
mandatory, but they don't need to actually contain anything. Also 
notice how in the <font face="Courier">drawCenteredString</font> tag, the co-ordinates are 
enclosed in quotation marks - they are attributes, and so need to live 
inside quotes. And if you look at the <font face="Courier">drawCenteredString</font> tag, these 
attributes are <i>inside</i> the tag (actually inside the angle 
brackets), then the content of the string comes after it, then the tag 
is closed by its matching <font face="Courier">
&lt;/drawCenteredString&gt;</font> tag. All tags with 
content need their matching closing tag - the <font 
face="Courier">&lt;document&gt;</font> and <font 
face="Courier">&lt;stylesheet&gt;</font> tags are also parts of 
matching pairs.
</para>

<para>                                    
One last thing to notice is the DOCTYPE line - for all these examples, 
we are assuming that the DTD is in the same directory as the example 
file itself. This may not always be the case.
</para>

<para>                                    
For a more complex RML document, you can use the more powerful 
template/stylesheet/story form of document. In this, a file contains 
the following three sections:
</para>
<para style="bulletNospace" bulletText="l">
a template
</para>
<para style="bulletNospace" bulletText="l">
a stylesheet
</para>
<para style="bulletList" bulletText="l">
a story
</para>

<para>                                    
The <i>template</i> tells rml2pdf what should be on the page: headers, 
footers, any graphic elements you use as a background.
</para>

<para>                                    
The <i>stylesheet</i> is where the styles for a document are set. This 
tells the parser what fonts to use for paragraphs and paragraph 
headers, how to format tables and other things of that nature. 
</para>

<para>                                    
The <i>story</i> is where the "meat" of the document is. Just like in 
a newspaper, the story is the bit you want people to read, as opposed 
to design elements or page markup. As such, this is where headers, 
paragraphs and the actual text is contained. 
</para>

<illustration width="494" height="89">
    <image file="images/Example_2b.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 2
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 2

<!DOCTYPE document SYSTEM "rml_1_0.dtd">
<document filename="example_2.pdf">

<template>
    <pageTemplate id="main">
    <frame id="first" x1="72" y1="72" width="451" height="698"/>
    </pageTemplate>
</template>

<stylesheet>
</stylesheet>

<!-- The story starts below this comment -->

<story>
    <para>
        This is the "story". This is the part of the RML document where 
        your text is placed.
    </para>
    <para>
        It should be enclosed in "para" and "/para" tags to turn it into 
        paragraphs.
    </para>
</story>

</document>

]]>
</pre>

<spacer length="15"/>

<para>                                    
The <font face="Courier">&lt;pageTemplate&gt;</font>, <font face="Courier">&lt;pageGraphics&gt;</font>, 
<font face="Courier">&lt;frame&gt;</font> and <font face="Courier">&lt;paraStyle&gt;</font> 
tags will all be covered in more detail later on in this guide.
</para>

<para>                                    
Paragraphs start with a <font face="Courier">&lt;para&gt;</font> tag and are closed with a 
<font face="Courier">&lt;/para&gt;</font> tag. Their appearance can be controlled with the 
<font face="Courier">&lt;paraStyle&gt;</font> tag.
</para>

<para>                                    
RML allows you to use comments in the RML code. These are not 
displayed in the output PDF file. Just like in HTML, they start with a 
"<font face="Courier">&lt;!--</font>" and are terminated with a "<font 
face="Courier">--&gt;</font>". Unlike other tags, comments cannot
be nested. In fact, you can't even have the characters "--" inside the <font face="Courier">
&lt;!-- --&gt;</font> section.
</para>

<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="3"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Basic Text Operations
</h2>
<outlineAdd level="2">Basic Text Operations</outlineAdd>

<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Co-ordinates and measurements in RML
</h3>
<outlineAdd level="3">Co-ordinates and measurements in RML</outlineAdd>
                                                             
<para>
In RML, the page origin is in the bottom left hand corner (0,0). Any 
point on the page can be specified by a pair of numbers - a pair of 
X,Y co-ordinates. The X co-ordinate states how far to the <i>right</i> 
the point is and the Y co-ordinate states how far <i>up</i> it is.
</para>

<para>
When an RML element has co-ordinates, the co-ordinate origin is the 
lower left corner. In the case of elements in a <font face="Courier">pageGraphic</font>, the 
origin of the lower left corner of the page.  For elements within an 
<font face="Courier">&lt;illustration&gt;</font>, the origin is the lower left corner of the bounding box 
declared by the <font face="Courier">&lt;illustration&gt;</font>.
</para>

<para>
These co-ordinates (and any other measurements in an RML document) can 
be given in one of four units. Inches use the term '<font face="Courier">in</font>', 
centimetres use the term '<font face="Courier">cm</font>', and millimetres use the 
term '<font face="Courier">mm</font>'. If no unit is specified, RML will assume 
that you are giving a measurement in points - one point is 1/72 of an inch. You 
can also explicitly use points with the term '<font face="Courier">pt</font>'.
</para>

<para>
As an example, the following pairs of co-ordinates all refer to the 
same point. Notice that there is no space between the number and any 
unit that follows it.
</para>
<para style="bulletNospace" bulletText="">
(4.5in, 1in)
</para>
<para style="bulletNospace" bulletText="">
(11.43cm, 2.54cm)
</para>
<para style="bulletList" bulletText="">
(324, 72)
</para>

<para>
You can mix and match these units within RML, though it generally 
isn't a good idea to do so. The co-ordinate pair (3.5in, 3.5cm) is 
valid, and won't confuse the RML parser - but it may well confuse you.
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using colors in RML
</h3>
<outlineAdd level="3">Using colors in RML</outlineAdd>
                                                             
<para>There are three ways to specify colors in RML: 
</para>
<para style="bulletList" bulletText="l">by red/green/blue value,</para>
<para style="bulletList" bulletText="l">by cyan/magenta/yellow/black value,</para>
<para style="bulletList" bulletText="l">by color name</para>

<para>                                    
The RGB or additive color specification follows the way a computer 
screen adds  different levels of the red, green, or blue light to make 
any color. White is formed by turning all three lights on full (1,1,1).
</para>

<para>                                    
The CMYK or subtractive method follows the way a printer mixes three 
pigments (cyan, magenta, and yellow) to form colors. Because mixing 
chemicals is more  difficult than combining light there is a fourth 
parameter for darkness. A chemical combination of the CMY pigments 
almost never makes a perfect black - instead producing a muddy brown - 
so, to get black printers use a direct black ink rather than use 
the CMY pigments.
</para>

<para>                                    
The name CMYK comes from the name of the four colors used: Cyan, 
Magenta, Yellow and "Key" - a term sometimes used by printers to refer 
to black.
</para>

<para>                                    
Because CMYK maps more directly to the way printer hardware works it 
may be the case that colors specified in CMYK will provide better 
fidelity and better  control when printed.
</para>

<para>                                    
The color names which RML recognizes are mostly drawn from the HTML 
specification. (For a list of these color names recognized by RML,
see Appendix A).
</para>

<para>                                    
[<b>NOTE</b>: Currently, while RML supports specifying colors by CMYK 
value, rml2pdf hasn't yet implemented it. If you try, you well get a 
ValueError and the error message "cmyk not implemented yet"].
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using fonts in RML
</h3>
<outlineAdd level="3">Using fonts in RML</outlineAdd>

<para>
Font names are given in the following format:
</para>
<para style="bulletList" bulletText="">
<font face="Courier">Fontname-style</font>
</para>
<para>
where fontname is the name of the font (e.g. Courier), and the style is 
its  appearance (eg, Oblique, BoldOblique).
</para>

<para>                                    
The only fonts supplied with Adobe's Acrobat Reader are the "14 
standard fonts". RML does not currently support embedding fonts in a 
PDF document, though it may do in the future. These 14 standard fonts 
are:
</para>
<para style="bulletNospace" bulletText="">Courier</para>
<para style="bulletNospace" bulletText="">Courier-Bold</para>
<para style="bulletNospace" bulletText="">Courier-BoldOblique</para>
<para style="bulletNospace" bulletText="">Courier-Oblique</para>
<para style="bulletNospace" bulletText="">Helvetica</para>
<para style="bulletNospace" bulletText="">Helvetica-Bold</para>
<para style="bulletNospace" bulletText="">Helvetica-BoldOblique</para>
<para style="bulletNospace" bulletText="">Helvetica-Oblique</para>
<para style="bulletNospace" bulletText="">Symbol</para>
<para style="bulletNospace" bulletText="">Times-Bold</para>
<para style="bulletNospace" bulletText="">Times-BoldItalic</para>
<para style="bulletNospace" bulletText="">Times-Italic</para>
<para style="bulletNospace" bulletText="">Times-Roman</para>
<para style="bulletNospace" bulletText="">ZapfDingbats</para>

<!-- 
<para>
There is no need to use fonts whose names end with "-Bold", "-Oblique", "-Italic", 
"-BoldOblique", or "-BoldItalic". You should use &lt;i&gt;...&lt;/i&gt; to to get 
the Oblique/Italic form of a font, and use&lt;b&gt;..&lt;/b&gt; to get Bold form.
</para>
-->
<!--XXX -->
<!--This is being commented out until I get an explanation from Aaron about why this 
should be so -->


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Basic text operations - setFont and drawString
</h3>
<outlineAdd level="3">Basic text operations - setFont and drawString</outlineAdd>

<para>
The simplest way to put text on a page is using the <font face="Courier">&lt;drawString&gt;</font> 
tag. This places the "string" of text on the page at the 
co-ordinates you give it. The only attributes you can give it are a 
pair of X and Y co-ordinates. After the tag itself comes the string of 
text you want put on the page, and then you need the closing 
<font face="Courier">&lt;/drawString&gt;</font> tag.
</para>

<para>                                    
<font face="Courier">DrawString</font> has a pair of companions. <font face="Courier">DrawRightString</font> 
and <font face="Courier">drawCentredString</font> both work in the same way, but right justify the 
string and center it, respectively.
</para>

<para>                                    
This is how they look in practice:
</para>

<pre style="programListing">
<![CDATA[
<drawString x="523" y="800">
    This is a drawString example
</drawString>

<drawRightString x="523" y="800">
    This is a drawRightString example
</drawRightString>

<drawCentredString x="523" y="800">
    This is a drawCentredString example
</drawCentredString>
]]>
</pre>
<spacer length="15"/>

<para>                                    
To set the font that you want a piece of text to be, you need to use the 
<font face="Courier">&lt;setFont&gt;</font> tag. This has two arguments which are required - you need to 
give it the <font face="Courier">name</font> of the font, and the <font face="Courier">size</font> you want it displayed at.
</para>

<para>                                    
A setFont tag looks like this:
</para>

<pre style="programListing">
<![CDATA[
<setFont name="Helvetica-Bold" size="17"/>
]]>
</pre>
<spacer length="15"/>

<para>                                    
To use all the <font face="Courier">drawString</font> commands, you need to use a tag called 
<font face="Courier">&lt;pageGraphics&gt;</font>. This tag appears at 
the start of a RML document, in the <font face="Courier">pageTemplate</font> section. 
<font face="Courier">pageGraphics</font> are the graphics that have 
to do with a whole page (rather than just individual illustrations, as 
we will see later). <font face="Courier">pageGraphics</font> can be used 
to provide a background to a page, to place captions or other textual 
information on a page, or to provide logos or other colorful elements. 
Whatever you use them for, they are always anchored to a spot on the 
page - they do not wrap or flow with any text you might put into paragraphs.
</para>



<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="4"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Basic figures - lines and shapes
</h2>
<outlineAdd level="2">Basic figures - lines and shapes</outlineAdd>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Rect, circle and ellipse
</h3>
<outlineAdd level="3">Rect, circle and ellipse</outlineAdd>

<para>
As well as allowing you to place text on the page, <font face="Courier">pageGraphics</font> 
also allows you to place shapes and graphics on it.
</para>

<para style="nospace">                                     
The basic types of shape that RML allows you to use are:
</para>
<para style="bulletList" bulletText="">
<font face="Courier">rect</font> (rectangle), <font face="Courier">circle</font>, 
and <font face="Courier">ellipse</font>.
</para>

<para style="nospace">                                     
A <font face="Courier">rect</font> needs to have a list of attributes passed to it:
</para>
<para style="bulletNospace" bulletText="">
- the co-ordinates for the bottom left hand corner,
</para>
<para style="bulletList" bulletText="">
- its <font face="Courier">width</font> and <font face="Courier">height</font>, 
</para>
<para>
It also has optional <font face="Courier">fill</font> and <font face="Courier">stroke</font> attributes, 
and a <font face="Courier">round</font> attribute, which tell it if the corners should be rounded off.
</para>

<para style="nospace">                                     
The <font face="Courier">circle</font> needs the following attributes passed to it:
</para>
<para style="bulletNospace" bulletText="">
- the <font face="Courier">x</font> and <font face="Courier">y</font> co-ordinates of the point where its center should be,
</para>
<para style="bulletList" bulletText="">
- its radius
</para>

<para style="nospace">
The <font face="Courier">ellipse</font> needs the following attributes passed to it:
</para>
<para style="bulletNospace" bulletText="">
- the <font face="Courier">x</font> and <font face="Courier">y</font> co-ordinates of the point where its center should be,
</para>
<para style="bulletList" bulletText="">
- its width and height. 
</para>
<para>
(If you imagine the <font face="Courier">ellipse</font> inside a rectangle, the <font face="Courier">x</font> 
and <font face="Courier">y</font> attributes give the co-ordinates for the bottom left hand corner, and the 
<font face="Courier">width</font> and <font face="Courier">height</font> attributes give the co-ordinates 
for the top right hand corner of the box).
</para>

<para style="nospace">                                     
All shapes also have two optional attributes:
</para>
<para style="bulletNospace" bulletText="">
- <font face="Courier">fill</font>, which tells the parser if the shape should be filled in or not, and
</para>
<para style="bulletList" bulletText="">
- <font face="Courier">stroke</font> which tells it if the shape should have its outline displayed. 
</para>
<para>
Both these attributes take Boolean values as arguments. You can uses 
either "1" or "yes" to set them as on, or "0" or "no" to set them as 
off.
</para>

<para>                                    
The following example shows various combinations of attributes for each of 
the basic shapes. Notice how this example starts with the XML definition -
you can get away with not using it, but it is still better to make sure it
is there.
</para>

<illustration width="228" height="333">
    <image file="images/Example_3a.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 3
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 3

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE document SYSTEM "rml_1_0.dtd">
<document filename="example_3.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>

        <!-- set the font and fill colour for the title. -->
        <fill color="red"/>
        <setFont name="Helvetica" size="24"/>
        <!-- Use drawCentredString to place a title on the page -->
        <drawCentredString x="297.5" y="800">
            Simple Text and Graphics with RML.
        </drawCentredString>

        <fill color="red"/>
        <!-- look at the output - though a fill color is set, no fill -->  
        <!-- is produced, since fill is set to "no" for the circle    -->
        <circle x="127.5" y="672.75" radius="1 in" fill="no"
            stroke="yes"/>
        <fill color="green"/>
        <stroke color="black"/>
        <circle x="297.5" y="672.75" radius="1 in" fill="yes"
            stroke="no"/>
        <fill color="blue"/>
        <stroke color="black"/>
        <circle x="467.5" y="672.75" radius="1 in" fill="yes"
            stroke="yes"/>

        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="127.5" y="567.5">
            Circle - with stroke, but no fill.
        </drawCentredString>
        <drawCentredString x="297.5" y="567.5">
            Circle - with fill, but no stroke.
        </drawCentredString>
        <drawCentredString x="467.5" y="567.5">
            Circle - with both stroke and fill.
        </drawCentredString>

        <fill color="red"/>
        <ellipse x="77" y="382.25" width="177" height="552.25"
            fill="no" stroke="yes"/>
        <fill color="green"/>
        <stroke color="black"/>
        <ellipse x="247" y="382.25" width="347" height="552.25"
            fill="yes" stroke="no"/>
        <fill color="blue"/>
        <stroke color="black"/>
        <ellipse x="417" y="382.25" width="507" height="552.25"
            fill="yes" stroke="yes"/>

        <fill color="black"/>
        <drawCentredString x="127.5" y="357">
            Ellipse - with stroke, but no fill.
        </drawCentredString>
        <drawCentredString x="297.5" y="357">
            Ellipse - with fill, but no stroke.
        </drawCentredString>
        <drawCentredString x="467.5" y="357">
            Ellipse - with both stroke and fill.
        </drawCentredString>

        <rect x="84.5" y="214.3" width="1 in" height="1.15 in"
            fill="no" stroke="yes"/>
        <fill color="green"/>
        <stroke color="black"/>
        <rect x="254.5" y="214.3" width="1 in" height="1.15 in"
            fill="yes" stroke="no"/>
        <fill color="blue"/>
        <stroke color="black"/>
        <rect x="424.5" y="214.3" width="1 in" height="1.15 in"
            fill="yes" stroke="yes"/>

        <fill color="black"/>
        <drawCentredString x="127.5" y="199.1">
            Rect - with stroke, but no fill.
        </drawCentredString>
        <drawCentredString x="297.5" y="199.1">
            Rect - with fill, but no stroke.
        </drawCentredString>
        <drawCentredString x="467.5" y="199.1">
            Rect - with both stroke and fill.
        </drawCentredString>

        <rect x="84.5" y="56.5" width="1 in" height="1.15 in"
            fill="no" stroke="yes" round="0.15 in"/>
        <fill color="green"/>
        <stroke color="black"/>
        <rect x="254.5" y="56.5" width="1 in" height="1.15 in"
            fill="yes" stroke="no" round="0.15 in"/>
        <fill color="blue"/>
        <stroke color="black"/>
        <rect x="424.5" y="56.5" width="1 in" height="1.15 in"
            fill="yes" stroke="yes" round="0.15 in"/>

        <fill color="black"/>
        <drawCentredString x="127.5" y="41.25">
            Rect - with stroke and round, but no fill.
        </drawCentredString>
        <drawCentredString x="297.5" y="41.25">
            Rect - with fill and round, but no stroke.
        </drawCentredString>
        <drawCentredString x="467.5" y="41.25">
            Rect - with stroke, fill and round.
        </drawCentredString>

    </pageGraphics>
    <frame id="first" x1="0.5in" y1="0.5in" width="20cm"
        height="28cm"/>
    </pageTemplate>
</template>

<stylesheet>
</stylesheet>

<story>
<para></para>
</story>

</document>

]]>
</pre>
<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Fill and stroke
</h3>
<outlineAdd level="3">Fill and stroke</outlineAdd>

<para>
If you look at the example 3, you will see that as well as having 
<font face="Courier">fill</font> and <font face="Courier">stroke</font> 
attributes for the shapes, there are separate <font face="Courier">&lt;fill&gt;</font> 
and <font face="Courier">&lt;stroke&gt;</font> tags.
</para>
<para>
Inside the tag for a shape (such as <font face="Courier">rect</font>), 
<font face="Courier">fill</font> and <font face="Courier">stroke</font> 
simply tell rml2pdf whether those qualities should be turned on. Should 
there be a <font face="Courier">fill</font>, or not? Should there be a 
<font face="Courier">stroke</font>, or not? That is why the 
argument is Boolean - "yes" or "no" (though "1" or "0" are also 
allowed).
</para>
<para>
The <font face="Courier">fill</font> and <font face="Courier">stroke</font> 
tags do a different job. The only argument that these tags are allowed is 
a color. If there are no <font face="Courier">fill</font> or 
<font face="Courier">stroke</font> tags in a document, both the fill and 
the stroke for all shapes default to black. If you have a 
<font face="Courier">fill</font> tag before a shape, it allows you 
to change the color that that shape is filled with. Similarly, a 
<font face="Courier">stroke</font> tag before a shape allows you to set 
the color that the outline of that shape will be drawn in. If there is 
no <font face="Courier">fill</font> or <font face="Courier">stroke</font> 
tag in front of a shape, it will be filled and stroked with the most recently 
defined <font face="Courier">fill</font> or <font face="Courier">stroke</font>
 - or failing that, the default black. 
</para>
<para>
This means that you can use one <font face="Courier">fill</font> tag to refer 
to many shapes, while changing the <font face="Courier">stroke</font> for 
each of them. Or vice versa.
</para>

<para>
Another brief example of how the <font face="Courier">fill</font> and 
<font face="Courier">stroke</font> tags look:
</para>

<pre style="programListing">
<![CDATA[
<fill color="olivedrab"/>
<stroke color="khaki"/>
]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Lines and lineMode
</h3>
<outlineAdd level="3">Lines and lineMode</outlineAdd>

<para>                            
The other basic drawing element is the line. To draw a simple line, 
you use the <font face="Courier">&lt;lines&gt;</font> tag. For each 
line you want to draw, you pass <font face="Courier">&lt;lines&gt;</font> 
two pairs of X-Y co-ordinates - one pair of co-ordinates for the start 
point of the line, the other for the end point.
</para>

<para>
If you want to draw more than one line, you can keep passing 
<font face="Courier">&lt;lines&gt;</font> more sets of 4 
co-ordinates. <font face="Courier">&lt;lines&gt;</font> then draws those 
other separate lines on the page. The lines in a 
<font face="Courier">&lt;lines&gt;</font> command are 
just lumped together in one <font face="Courier">&lt;lines&gt;</font> 
tag for your convenience. (If you want lines that follow on from each 
other, look at the "Advanced figures" section later in this manual).
</para>

<condPageBreak height="60"/>
<para>                                    
For example, this draws a simple line:
</para>

<pre style="programListing">
<![CDATA[
        <lines>
        2.5in 10.5in 3.5in 10.5in
        </lines>
]]>
</pre>
<spacer length="15"/>

<para>
And this starts with the same line, then draws an extra couple of lines below it:
</para>
    
<pre style="programListing">
<![CDATA[
        <lines> 
        2.5in 10.5in 3.5in 10.5in 
        2.5in 10.25in 3.5in 10.25in
        2.5in 10in 3.5in 10in
        </lines>        
        
]]>
</pre>
<spacer length="15"/>

<para>                                    
It doesn't matter how you arrange the sets of co-ordinates, but it 
helps to keep it human-readable if you keep co-ordinates to do with 
the same line on the same line of RML. This second example could have 
been written like this (but it would be much harder to follow):
</para>

<pre style="programListing">
<![CDATA[
        <lines>2.5in 10.5in 3.5in 10.5in 2.5in 10.25in 3.5in 10.25in 2.5in 
        10in 3.5in 10in</lines>     
]]>
</pre>
<spacer length="15"/>

<para>
One more thing to notice before we move on is that these co-ordinates are separated by spaces.
They are <i>not</i> separated by commas as you might expect.
</para>

<para>                                    
As well as just drawing lines, there are a number of attributes you can modify to 
change the appearance of lines. This is done with the 
<font face="Courier">&lt;lineMode&gt;</font> tag.
</para>

<para>                                    
The most obvious attribute to <font face="Courier">&lt;lineMode&gt;</font> is 
<font face="Courier">width</font>. You can give 
<font face="Courier">&lt;lineMode&gt;</font> a number 
for the width attribute to change the line width to that number of points.
</para>

<illustration width="405" height="55">
    <image file="images/Linewidth.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Example of lineMode attribute "width"
</para>


<para>                                    
The <font face="Courier">join</font> attribute to <font face="Courier">&lt;lineMode&gt;</font> 
adjusts how what happens when lines meet. They can either come to a point, or the vertex can 
be rounded or squared off into a bevelled join. The possible values for join are 
<font face="Courier">round</font>, <font face="Courier">mitered</font>, or 
<font face="Courier">bevelled</font>. 
</para>

<para>                                    
The <font face="Courier">cap</font> attribute to 
<font face="Courier">&lt;lineMode&gt;</font> adjusts how the ends of lines 
appear. The end of a line can have a square end exactly at the vertex, a square 
end that is extended so it is over the vertex, or a half circle - a rounded cap. 
These possible values for cap are <font face="Courier">default</font>, 
<font face="Courier">square</font> or <font face="Courier">round</font>.
</para>

<illustration width="307" height="100">
    <image file="images/Linecap.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Example of lineMode attribute "cap"
</para>


<para>                                    
Both the <font face="Courier">join</font> and <font face="Courier">cap</font> attributes 
for <font face="Courier">&lt;lineMode&gt;</font> are only really visible if the
line you are applying them to is thick.
</para>

<para>                                    
Another attribute to <font face="Courier">&lt;lineMode&gt;</font> is 
<font face="Courier">dash</font>. This allows you to specify if the line
is dotted or dashed. You supply it a series of numbers (separated by commas),
and it takes them as a pattern for how many pixels the line is on for, and then
how many pixels the line is off (i.e. not displayed) for. This can be a simple
pattern such as "1,2" (which gives you a plain dotted line) or "5,5" (which 
makes the lines sections equal with the spaces), or as complex as 
"1,1,3,3,1,4,4,1" (a complex pattern of dots and dashes).
</para>

<illustration width="316" height="98">
    <image file="images/Linedash.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Example of lineMode attribute "dash"
</para>


<para>                                    
The following example shows examples of most of the attributes that you can use 
with <font face="Courier">&lt;lines&gt;</font> and 
<font face="Courier">&lt;lineMode&gt;</font>. Notice how you can use more that one 
attribute to <font face="Courier">&lt;lineMode&gt;</font> at the same time.
</para>


<pre style="programListing">
<![CDATA[
EXAMPLE 4

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_4.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>

        <fill color="red"/>
        
        <setFont name="Helvetica" size="24"/>
        <drawCentredString x="297.5" y="800">
            Lines in RML.
        </drawCentredString>

        <!-- notice that each of these "empty" tags are teminated -->
        <!-- with a slash                                         -->
        <lineMode width="1"/>
        <lines>1in 10.5in 2in 10.5in 
        2in 10.5in 1.5in 10in
        1.5in 10in 1.5in 10.75in
        </lines>
        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="1.5 in" y="9.75 in">
            width=1
        </drawCentredString>

        <lineMode width="5"/>
        <lines>2.5in 10.5in 3.5in 10.5in 
        3.5in 10.5in 3in 10in
        3in 10in 3in 10.75in
        </lines>
        <drawCentredString x="3 in" y="9.75 in">
            width=5
        </drawCentredString>
       
        <lineMode width="10"/>
        <lines>4in 10.5in 5in 10.5in 
        5in 10.5in 4.5in 10in
        4.5in 10in 4.5in 10.75in
        </lines>
        <drawCentredString x="4.5 in" y="9.75 in">
            width=10
        </drawCentredString>

        <lineMode width="15"/>
        <lines>5.5in 10.5in 6.5in 10.5in 
        6.5in 10.5in 6in 10in
        6in 10in 6in 10.75in
        </lines>
        <drawCentredString x="6 in" y="9.75 in">
            width=15
        </drawCentredString>


        <!-- examples for the 'join' attribute to 'LineMode' -->
        <lineMode width="5"/>
        <lines>1in 9in 2in 9in 
        2in 9in 1.5in 8.5in
        1.5in 8.5in 1.5in 9.25in
        </lines>
        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="1.5 in" y="8.25 in">
            width=10
        </drawCentredString>

        <!-- options for 'join' are "round", "mitered", or "bevelled" -->

        <lineMode width="5" join="round"/>
        <lines>2.5in 9in 3.5in 9in 
        3.5in 9in 3in 8.5in
        3in 8.5in 3in 9.25in
        </lines>
        <drawCentredString x="3 in" y="8.25 in">
            width=5, join=round
        </drawCentredString>
       
        <lineMode width="5" join="mitered"/>
        <lines>4in 9in 5in 9in 
        5in 9in 4.5in 8.5in
        4.5in 8.5in 4.5in 9.25in
        </lines>
        <drawCentredString x="4.5 in" y="8.25 in">
            width=5, join=mitered
        </drawCentredString>

        <lineMode width="5" join="bevelled"/>
        <lines>5.5in 9in 6.5in 9in 
        6.5in 9in 6in 8.5in
        6in 8.5in 6in 9.25in
        </lines>
        <drawCentredString x="6 in" y="8.25 in">
            width=5, join=bevelled
        </drawCentredString>


        <!-- examples for the 'cap' attribute to 'LineMode' -->
        <lineMode width="10"/>
        <lines>1in 7.5in 2in 7.5in 
        2in 7.5in 1.5in 7in
        1.5in 7in 1.5in 7.75in
        </lines>
        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="1.5 in" y="6.75 in">
            width=10
        </drawCentredString>

        <!-- options for 'cap' are "default", "round", or "square" -->

        <lineMode width="10" cap="default"/>
        <lines>2.5in 7.5in 3.5in 7.5in 
        3.5in 7.5in 3in 7in
        3in 7in 3in 7.75in
        </lines>
        <drawCentredString x="3 in" y="6.75 in">
            width=10, cap=default
        </drawCentredString>
       
        <lineMode width="10" cap="round"/>
        <lines>4in 7.5in 5in 7.5in 
        5in 7.5in 4.5in 7in
        4.5in 7in 4.5in 7.75in
        </lines>
        <drawCentredString x="4.5 in" y="6.75 in">
            width=10, cap=round
        </drawCentredString>

        <lineMode width="10" cap="square"/>
        <lines>5.5in 7.5in 6.5in 7.5in 
        6.5in 7.5in 6in 7in
        6in 7in 6in 7.75in
        </lines>
        <drawCentredString x="6 in" y="6.75 in">
            width=10, cap=square
        </drawCentredString>


        <lineMode width="5" cap="default"/>
        <!-- examples for the 'miterLimit' attribute to 'LineMode' -->
        <lineMode width="5" join="mitered"/>
        <lines>1in 6in 2in 6in 
        2in 6in 1.5in 5.5in
        1.5in 5.5in 1.5in 6.25in
        </lines>
        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="1.5 in" y="5.25 in">
            width=5, join=mitered
        </drawCentredString>

        <lineMode width="5" join="mitered" miterLimit="10"/>
        <lines>2.5in 6in 3.5in 6in 
        3.5in 6in 3in 5.5in
        3in 5.5in 3in 6.25in
        </lines>
        <drawCentredString x="3 in" y="5.25 in">
            width=5, join=mitered
        </drawCentredString>
        <drawCentredString x="3 in" y="5.1 in">
            miterLimit=10
        </drawCentredString>
       
        <lineMode width="10" join="mitered"/>
        <lines>4in 6in 5in 6in 
        5in 6in 4.5in 5.5in
        4.5in 5.5in 4.5in 6.25in
        </lines>
        <drawCentredString x="4.5 in" y="5.25 in">
            width=10, join=mitered
        </drawCentredString>

        <lineMode width="10" join="mitered" miterLimit="20"/>
        <lines>5.5in 6in 6.5in 6in 
        6.5in 6in 6in 5.5in
        6in 5.5in 6in 6.25in
        </lines>
        <drawCentredString x="6 in" y="5.25 in">
            width=10, join=mitered
        </drawCentredString>
        <drawCentredString x="6 in" y="5.1 in">
            miterLimit=20
        </drawCentredString>


        <!-- examples for the 'dash' attribute to 'LineMode' -->
        <lineMode width="2"/>
        <lines>1in 4.5in 2in 4.5in 
        2in 4.5in 1.5in 4in
        1.5in 4in 1.5in 4.75in
        </lines>
        <fill color="black"/>
        <setFont name="Helvetica" size="9"/>
        <drawCentredString x="1.5 in" y="3.75 in">
            width=2
        </drawCentredString>

        <!-- options for 'dash' are sequences of numbers -->

        <lineMode width="2" dash="5,5"/>
        <lines>2.5in 4.5in 3.5in 4.5in 
        3.5in 4.5in 3in 4in
        3in 4in 3in 4.75in
        </lines>
        <drawCentredString x="3 in" y="3.75 in">
            width=2, dash=5,5
        </drawCentredString>
       
        <lineMode width="2" dash="2,10"/>
        <lines>4in 4.5in 5in 4.5in 
        5in 4.5in 4.5in 4in
        4.5in 4in 4.5in 4.75in
        </lines>
        <drawCentredString x="4.5 in" y="3.75 in">
            width=2, dash=2,10
        </drawCentredString>

        <lineMode width="2" dash="5,5,2,10"/>
        <lines>5.5in 4.5in 6.5in 4.5in 
        6.5in 4.5in 6in 4in
        6in 4in 6in 4.75in
        </lines>
        <drawCentredString x="6 in" y="3.75 in">
            width=2, dash=5,5,2,10
        </drawCentredString>

    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/>
    </pageTemplate>
</template>

<stylesheet>
</stylesheet>

<story>
<para></para>
</story>

</document>

]]>
</pre>
<spacer length="15"/>

<illustration width="304" height="339">
    <image file="images/Example_4a.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 4
</para>



<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="5"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Graphics <i>vs</i> Flowables
</h2>
<outlineAdd level="2">Graphics vs Flowables</outlineAdd>

<para>
Both the basic graphical figures and the basic text operations we have seen 
so far share some properties. All of them require you to specifically position 
them at a certain point on a page (or inside a frame) using co-ordinates.
</para>

<para>
In RML, operations which position elements explicitly on the page using X-Y 
co-ordinates and other geometric parameters are called "graphics operations" 
(or just "graphics"). The other major group of tags in RML are the "flowables".
</para>

<para>
<b>Flowables</b> (like paragraphs, spacers, and tables) can appear in a 
<font face="Courier">story</font> (or in the 
<font face="Courier">&lt;place&gt;</font> tag). <b>Graphics</b> appear in 
<font face="Courier">&lt;pageGraphics&gt;</font> and 
<font face="Courier">&lt;illustration&gt;</font>.  These two categories 
cannot be mixed: flowables are positioned in sequence running down a frame 
until the frame has no more room and then placed on the next frame (on 
the next page if necessary); graphics are explicitly positioned by co-ordinates.
</para>



<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="6"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>
More about pages and page structures
</h2>
<outlineAdd level="2">More about pages and page structures</outlineAdd>

<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Template and pageTemplate in more detail
</h3>
<outlineAdd level="3">Template and pageTemplate in more detail</outlineAdd>

<para>
We have already seen that the <font face="Courier">&lt;template&gt;</font> has to 
appear at the start of an RML document (after the prolog). This section sets out 
to explain it more fully.
</para>

<para>                                    
A <font face="Courier">&lt;template&gt;</font> is the section where the layout of a 
document is set out - both for the whole document and for individual pages within it.
</para>

<para>                                    
Up to now, we have just been using <font face="Courier">&lt;template&gt;</font> without 
any options. But the <font face="Courier">&lt;template&gt;</font> tag has a number of 
optional attributes that you can use to set settings for the whole document:
</para>

<para>
<font face="Courier">pageSize</font> sets the size of the page. This takes a pair 
of numbers for the width and the height of the page. If you don't give it any 
numbers, it defaults to A4 (the international standard page size which differs 
from the American standard page size of letter, but is a standard in other places 
such as the UK). While this is a sensible default, it's usually best to explicitly 
specify a size. Common sizes are (21cm, 29.7cm) or (595, 842) for A4, (8.5in, 11in) 
for letter, and (8.5in, 17in) for legal.
</para>

<para>                                    
<font face="Courier">leftMargin</font> and <font face="Courier">rightMargin</font> 
set the horizontal margins for the page. 
<font face="Courier">topMargin</font> and <font face="Courier">bottomMargin</font> 
set the vertical margins for the page.
</para>

<para>                                    
You can also set the title of the document with the <font face="Courier">title</font> 
attribute (which defaults to '(untitled)') and the author with the 
<font face="Courier">author</font> attribute (which defaults to '(unauthored)').
</para>

<para>                                    
There are also the optional <font face="Courier">showBoundary</font> and 
<font face="Courier">allowSplitting</font> attributes, which 
can both be set to "0" or "1" (or "true" and "false"). The 
<font face="Courier">showBoundary</font> attribute is off by 
default, but when it is set to <font face="Courier">true</font>, it shows 
a black border around any frames on the page.
</para>

<para>                                    
<font face="Courier">&lt;template&gt;</font> allows you to set options for the 
whole document. The <font face="Courier">&lt;pageTemplate&gt;</font> tag 
allows you to set options for individual pages. You can have more than one 
<font face="Courier">&lt;pageTemplate&gt;</font> inside the template section. 
This allows you to have different <font face="Courier">pageTemplate</font>s 
for each page that requires a different structure. For example,
the title page of a report could have a number of graphics on it while the
rest of the pages are more text-orientated.
</para>

<para>                                    
Each <font face="Courier">&lt;pageTemplate&gt;</font> tag must have the mandatory 
attribute <font face="Courier">id</font>. This gives the 
template a name, and allows both rml2pdf and you to refer to it by name.
As well as this required attribute, you can put any number of 
<font face="Courier">&lt;pageGraphics&gt;</font>  
into a <font face="Courier">&lt;pageTemplate&gt;</font> 
(<font face="Courier">&lt;pageGraphics&gt;</font> are the containers for the 
<font face="Courier">&lt;drawString&gt;</font> and shape-drawing commands we 
saw earlier).
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Frames and nextFrame
</h3>
<outlineAdd level="3">Frames and nextFrame</outlineAdd>

<para>
As well as containing <font face="Courier">&lt;pageGraphics&gt;</font>, each 
<font face="Courier">&lt;pageTemplate&gt;</font> can also contain 
<font face="Courier">frame</font>s.
These <font face="Courier">frame</font>s can split the page into more than one 
region. For each <font face="Courier">frame</font> in a 
<font face="Courier">&lt;pageTemplate&gt;</font>, you must supply an 
<font face="Courier">id</font>, the X and Y co-ordinates of the bottom 
left hand corner, as well as the <font face="Courier">width</font> and 
<font face="Courier">height</font> of the frame. You can have 
one <font face="Courier">frame</font> in a page, or use two or more to split 
it into a multi-column layout.
Frames really come into their own when you use paragraphs and flowables (see the
section on "Advanced text" below).
</para>

<para>                                    
This is how it looks in practice:
</para>

<pre style="programListing">
<![CDATA[
   <frame id="main" x1="4in" y1="2in" width="3in" height="7in"/>
]]>
</pre>
<spacer length="15"/>

<para>                                    
(When you are using text in <font face="Courier">&lt;para&gt;&lt;/para&gt;</font> tags, 
you can use the the <font face="Courier">&lt;nextFrame/&gt;</font> tag to force it 
into the next <font face="Courier">frame</font> on the page. Look at the section on "Advanced text" 
later in this document for more details on this).
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;condPageBreak/&gt; tag
</h3>
<outlineAdd level="3">The condPageBreak tag</outlineAdd>

<para>
The <font face="Courier">&lt;condPageBreak/&gt;</font> is a "CONDitional Page Break". 
To use it, you give it a height in any units that RML can handle. It then compares 
this height with the remaining available space on a page. If the space is sufficient, 
then the next elements are placed on the current page, but if there is less space 
than the height you have given it anything following the 
<font face="Courier">&lt;condPageBreak/&gt;</font> tag is continued on the next page.
</para>
<para>
That is what happens on pages with only one <font face="Courier">frame</font>. On pages 
that have multiple <font face="Courier">frame</font>s, this tag acts as a conditional
frame break. If the space in the current frame isn't enough, it will break and place 
what follows in the next frame rather than on the next page. The tag and its syntax 
still remain the same.
</para>
<para>
This tag is particularly useful with large tables, where you want the whole table to be 
presented on one page rather than split between two. It can also be used where you have 
a collection of images, and you want them all to be on the same page. 
</para>
<para>
<font face="Courier">&lt;condPageBreak/&gt;</font> has only one attribute - the mandatory 
one of <font face="Courier">height</font>.
</para>
<para style="nospace">
Examples:
</para>

<pre style="programListing">
<![CDATA[
<condPageBreak height="1in"/>
<condPageBreak height="72"/>
]]>
</pre>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
More about stylesheets
</h3>
<outlineAdd level="3">More about stylesheets</outlineAdd>

<para>
Just like in a word processor, RML allows you to define a stylesheet at the start
of your document, and then apply it to paragraphs later on. This means that you
can define a complicated mixture of settings that you want to apply to paragraphs,
only define it in one place, and refer to it with a simple name at the start of
each paragraph rather than having to type or cut-and-paste large blocks of text over 
and over for each paragraph.
</para>

<para>                                    
Each stylesheet starts with the <font face="Courier">&lt;stylesheet&gt;</font> tag. 
There may then be an optional initialisation section where aliases can be set 
(bounded by the pair of tags <font face="Courier">&lt;initialize&gt;&lt;/initialize&gt;</font>). 
After that come a number of <font face="Courier">&lt;paraStyle&gt;</font> tags - each one 
defining a style that you want to use for paragraphs. The 
<font face="Courier">&lt;paraStyle&gt;</font> tag must have 
an attribute <font face="Courier">name</font>, and then may have as many optional 
attributes as you want, each one setting one feature of the appearance of a paragraph.
</para>

<para>                                    
Each one of these <font face="Courier">&lt;paraStyle&gt;</font> tags is an empty 
element (i.e. it is closed with a "<font face="Courier">/&gt;</font>" rather than a separate closing tag), 
but you might want to indent the tag so that each of the options is on a 
separate line. This makes it easier to see what each style is defining 
(see the example below for how this looks).
</para>

<para>                                    
One attribute for <font face="Courier">&lt;paraStyle&gt;</font> that isn't the same 
as those used by <font face="Courier">&lt;para&gt;</font> is the
<font face="Courier">parent</font> attribute. Once you have defined a style using a 
<font face="Courier">&lt;paraStyle&gt;</font> tag, you can use those settings as a 
basis for other styles. <font face="Courier">parent</font> allows one style to
inherit from another.
</para>

<para>                                    
The other attribute that isn't shared by the <font face="Courier">&lt;para&gt;</font> tag is 
<font face="Courier">backColor</font>. As you can probably 
guess, this attribute sets a background color for the paragraph it is describing.
</para>

<para style="nospace">
The following optional attributes for <font face="Courier">&lt;paraStyle&gt;</font> are 
the same as those for the <font face="Courier">&lt;para&gt;</font> tag - you can find 
more description of them in the "Advanced text" section below:
</para>
<para>
<font face="Courier">fontName, fontSize, leading, leftIndent, rightIndent, firstLineIndent, 
alignment, spaceBefore, spaceAfter, bulletFontName, bulletFontSize, bulletIndent, 
textColor. </font>
</para>

<para>                                    
Here is an example of how the <font face="Courier">&lt;stylesheet&gt;</font> tag might look in use:
</para>

<pre style="programListing">
<![CDATA[
<stylesheet>
    <initialize>
    <alias id="style.normal" value="style.Normal"/>
    </initialize>

    <paraStyle name="h1"
    fontName="Courier-Bold"
    fontSize="12"
    spaceBefore="0.5 cm"
    />
    
    <paraStyle name="style1"
    fontName="Courier"
    fontSize="10"
    />

    <paraStyle name="style2"
    parent="style1"
    leftIndent="1in"
    />

    <paraStyle name="style7"
    parent="style1"
    leading="15"
    leftIndent="1in"
    rightIndent="1in"
    />
</stylesheet>
]]>
</pre>
<spacer length="15"/>

<para>                                    
<font face="Courier">stylesheet</font>s also allow you to define styles for 
<font face="Courier">blockTable</font>s with the 
<font face="Courier">&lt;blockTableStyle&gt;</font> tag - refer to the section 
on <font face="Courier">blockTable</font>s later in this document for details.
</para>



<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="7"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Advanced text
</h2>
<outlineAdd level="2">Advanced text</outlineAdd>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Title
</h3>
<outlineAdd level="3">Title</outlineAdd>

<para>
The <font face="Courier">&lt;title&gt;</font> tag sets the title for a document, 
or a section of a document, and displays it on the page. By default, this is set 
in a larger typeface than the body text (in a similar way that headers are). 
You can change the way a title is set by setting a style called 
<font face="Courier">style.Title</font> (in the <font face="Courier">stylesheet</font> section of 
your document). 
</para>
<para>
[<b>Note:</b> This tag does <i>not</i> affect what is displayed in the "title bar" 
at the top of a document.] 
</para>
<para>Example:</para>


<pre style="programListing">
<![CDATA[

<stylesheet>
    <paraStyle name="style.Title"
    fontName="Courier-Bold"
    fontSize="36"
    leading="44"
    />
</stylesheet>

<story>
    <title>This is the Title</title>
    <para>
    And it should be set in 36 pt Courier Bold.
    </para>
</story>

]]>
</pre>
<spacer length="15"/>                                    


<condPageBreak height="72"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Headings - h1, h2, h3
</h3>
<outlineAdd level="3">Headings - h1, h2, h3</outlineAdd>

<para>                                    
Headings are also handled in the same way as in HTML. The most important heading
level has its text enclosed by <font face="Courier">&lt;h1&gt;</font> and 
<font face="Courier">&lt;/h1&gt;</font> tags, and less important sub-headings
use the <font face="Courier">&lt;h2&gt;&lt;/h2&gt;</font> and 
<font face="Courier">&lt;h3&gt;&lt;/h3&gt;</font> tags in the same way.
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Paragraphs and paraStyle
</h3>
<outlineAdd level="3">Paragraphs and paraStyle</outlineAdd>

<para>                                    
As well as explicitly placing a piece of text into a certain position on a page
using the <font face="Courier">drawString</font> commands, RML also allows you 
to use paragraphs of text. Paragraphs are <i>flowables</i>. This means that you 
don't need to tell RML exactly where every line is going to go on the page - 
you let rml2pdf worry about that. 
</para>

<para>                                    
To do this you place your text inside the <font face="Courier">story</font> section of 
an RML document, and use the <font face="Courier">&lt;para&gt;</font> and 
<font face="Courier">&lt;/para&gt;</font> tags to tell the parser where each paragraph 
starts and ends.
</para>

<para>                                    
As well as delineating where paragraphs begin and end, the <font face="Courier">&lt;para&gt;</font> 
tag can also have a number of optional attributes:
</para>

<para style="nospace">                                    
<i>style:</i>
</para><para>
If you have set up a style in the stylesheet section of a document, you can refer 
to them by name by using the <font face="Courier">style</font> attribute. For example, 
if you have defined a style called <font face="Courier"><i>Normal</i></font>, you can 
have your paragraph appear in that style by using 
<font face="Courier">&lt;para style="<i>Normal</i>"&gt;</font>.
</para>

<para style="nospace">                                    
<i>alignment:</i>
</para><para>
How the text is aligned within the paragraph. It can be <font face="Courier">LEFT</font>, 
<font face="Courier">RIGHT</font>, 
<font face="Courier">CENTER</font> (or <font face="Courier">CENTRE</font>) or 
<font face="Courier">JUSTIFY</font>.
</para>

<para style="nospace">                                    
<i>fontName, fontSize:</i>
</para><para>
<font face="Courier">fontName</font> and <font face="Courier">fontSize</font> set the name and size 
of the font that you want this paragraph displayed in. (This can often be better done using the 
<font face="Courier">&lt;paraStyle&gt;</font> tag inside a <font face="Courier">&lt;stylesheet&gt;</font>, 
and then using the <font face="Courier">&lt;style&gt;</font> tag to apply it to that paragraph).
Example: 
<font face="Courier">&lt;para fontName="Helvetica" fontSize="12"&gt;</font>
</para>

<para style="nospace">                                    
<i>leading:</i>
</para><para>
<font face="Courier">leading</font> is used  is used to alter the space between lines. 
In RML, it is expressed as the height of a line <i>PLUS</i> the space between lines. So 
if you are using 10 point font, a leading of 15 will give you a space between lines of 
5 points. If you use a number that is <i>smaller</i> than the size of font you are 
using, the lines will overlap.
</para>

<para style="nospace">                                    
<i>leftIndent, rightIndent:</i>
</para><para>
<font face="Courier">leftIndent</font> and <font face="Courier">rightIndent</font> apply 
space to the left or right of a paragraph which is in addition to any margin you have set.
</para>

<para style="nospace">                                    
<i>firstLineIndent:</i>
</para><para>
<font face="Courier">firstLineIndent</font> is used when you want your paragraph to have an 
additional indent on the first line - on top of anything set with 
<font face="Courier">leftIndent</font>.
</para>

<para style="nospace">                                    
<i>spaceBefore, spaceAfter:</i>
</para><para>
<font face="Courier">spaceBefore</font> and <font face="Courier">spaceAfter</font>, as you would 
expect, set the spacing before a paragraph or after it.
</para>

<para style="nospace">                                    
<i>textColor:</i>
</para><para>
This sets the color to be used in displaying a paragraph.
</para>

<para style="nospace">                                    
<i>bulletText, bulletColor, bulletFontName, bulletFontSize, bulletIndent:</i>
</para><para>
These are all used to set the characteristics for any bullets to be used in the
paragraph.
</para>

<para>                                    
Inside the story, you can also do a number of things that you can't do with the
<font face="Courier">drawString</font> commands. For a start, you can use bold 
and italics. If you are familiar with HTML, you will recognize these tags - 
<font face="Courier">&lt;i&gt;</font> and <font face="Courier">&lt;/i&gt;</font> 
start and stop italics, and <font face="Courier">&lt;b&gt;</font> and 
<font face="Courier">&lt;/b&gt;</font> start and stop the text being set as bold. 
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;font&gt; tag
</h3>
<outlineAdd level="3">The font tag</outlineAdd>

<para>                                    
You can also explicitly set the font using the <font face="Courier">&lt;font&gt;</font> 
tag. This has the optional attributes of <font face="Courier">face</font>, 
<font face="Courier">color</font>, and <font face="Courier">size</font> which are all 
pretty self-explanatory. You need to use a <font face="Courier">&lt;/font&gt;</font> 
tag to close this before the end of the paragraph.
Example:
</para>

<pre style="programListing">
<![CDATA[
<font face="Courier" color="crimson">This is courier in crimson!</font>
]]>
</pre>
<spacer length="15"/>

<para style="nospace">That example produces this line of text: </para>
<para><font face="Courier" color="crimson">This is courier in crimson!</font></para>
         
<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Superscripts and subscripts
</h3>
<outlineAdd level="3">Superscripts and subscripts</outlineAdd>

<para>
Another thing you can do inside the story is using superscripts and subscripts. You 
do this with the <font face="Courier">&lt;super&gt;&lt;/super&gt;</font> and 
<font face="Courier">&lt;sub&gt;&lt;/sub&gt;</font> tags.
(Superscript is where the text is raised up on the line such as in the mathematical symbol 
for squared or cubed, and subscript is where it is lowered relative to the rest of the line 
in the same way).
Example:
</para>

<pre style="programListing">
<![CDATA[
<para>
    <sub>This is subscript.</sub>
    This is normal text. 
    <super>This is superscript.</super>
</para>
]]>
</pre>
<spacer length="15"/>

<para>That example produces this:</para>
<para>
    <sub>This is subscript.</sub>
    This is normal text. 
    <super>This is superscript.</super>
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using multiple frames
</h3>
<outlineAdd level="3">Using multiple frames</outlineAdd>

<para>                                    
If you have split your page into more than one frame, you can flow text between 
frames. To do this you use the <font face="Courier">&lt;nextFrame/&gt;</font> tag. 
This is an "empty" or "singleton" tag - it has no options and doesn't take any 
content. Put in <font face="Courier">&lt;nextframe/&gt;</font> and 
your text will continue into the next frame. It should appear <i>outside</i> your 
paragraphs - between one <font face="Courier">&lt;/para&gt;</font> and the next 
<font face="Courier">&lt;para&gt;</font> tag.
</para>

<para>                                    
If you have defined more than one kind of template (by using 
<font face="Courier">&lt;pageTemplate&gt;</font> 
in the template section at the head of the RML document), you can also force RML into 
using a new template for the next page. You do this by using the 
<font face="Courier">&lt;setNextTemplate&gt;</font> tag. This tag has only one 
attribute - the mandatory one of <font face="Courier">name</font>, which tells 
RML which template it should use.
</para>

<para>                                    
In practice, you would usually set the next template and then use a 
<font face="Courier">nextFrame</font>:
</para>

<pre style="programListing">
<![CDATA[
    <setNextTemplate name="yetAnotherTemplate"/>
    <nextFrame/>
]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;pre&gt; tag
</h3>
<outlineAdd level="3">The pre tag</outlineAdd>

<para>
One tag that is also a flowable, but that can't be used inside the 
<font face="Courier">&lt;para&gt;&lt;/para&gt;</font> tags is 
<font face="Courier">&lt;pre&gt;</font>. Just as in HTML, the 
<font face="Courier">&lt;pre&gt;</font> tag denotes pre-formatted text. It displays text 
exactly as you typed it, with the line breaks exactly where you put them and no line-wrapping.
If you want to keep any formatting in your text (such as tabs and extra whitespace), enclose it 
in <font face="Courier">&lt;pre&gt;</font> tags rather than <font face="Courier">&lt;para&gt;</font> tags.
</para>

<para>
You can also pass a style to the <font face="Courier">&gt;pre&lt;</font> tag. If you don't use the optional style 
attribute, anything between the <font face="Courier">&lt;pre&gt;</font> tag and the 
<font face="Courier">&lt;/pre&gt;</font> tag will appear in the default style for pre-formatted 
text. This uses a fixed width "typewriter" font (such as courier), and is useful for things such as program 
listings, but may not be what you want for your quotation or whatever. If you have already defined a style 
(in the the <font face="Courier">stylesheet</font> section of your RML document), then you can make the 
<font face="Courier">&lt;pre&gt;</font> tag use this for your pre-formatted text.
</para>

<para >
Example:
</para>

<pre style="programListing">
<![CDATA[
    <pre style="myStyle">
    this is pre-formatted text. 
    </pre>
]]>
</pre>
<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;greek&gt; tag
</h3>
<outlineAdd level="3">The greek tag</outlineAdd>

<para>
The <font face="Courier">&lt;greek&gt;</font> tag is used for producing Greek letters in RML. 
This is of most use for equations and formulae.
</para>

<para>
Example:
</para>

<para>
In physics, Planck's formula for black body radiation can be expressed as:
</para>

<para alignment="CENTER">
R<greek>l</greek>=(c/4) (8<greek>p</greek>/<greek>l</greek><super>4</super>) 
[ (hc/<greek>l</greek>) 1/e<super>hc/<greek>l</greek>kT</super>-1 ]
</para>

<para>
In RML, this is expressed as:
</para>

<pre style="programListing">
<![CDATA[
R<greek>l</greek>=(c/4) (8<greek>p</greek>/<greek>l</greek><super>4</super>) 
[ (hc/<greek>l</greek>) 1/e<super>hc/<greek>l</greek>kT</super>-1 ]
]]>
</pre>
<spacer length="15"/>

<para>
For a table of the Greek letters used by the <font face="Courier">&lt;greek&gt;</font> 
tag and their representations in RML, look in Appendix C at the end of this manual.
</para>

<para>                                    
This next example show features from several of the commands describes in the 
previous sections; such as the use of <font face="Courier">frame</font>s, the options 
to the <font face="Courier">template</font> tag, <font face="Courier">stylesheets</font>, 
and so on. See the next section for information on using 
the <font face="Courier">&lt;name&gt;</font> and 
<font face="Courier">&lt;getName&gt;</font> tags.
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 5

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_5.pdf"> 

<template pageSize="(21cm, 29.7cm)"
        leftMargin="2.5cm"
        rightMargin="2.5cm"
        topMargin="2.5cm"
        bottomMargin="2.5cm"
        title="Example 5 - templates and pageTemplates"
        author="Reportlab Inc (Documentation Team)"
        showBoundary="1"
        allowSplitting="20"
        >
        <!-- showBoundary means that we will be able to see the   -->
        <!-- limits of frames                                     -->
        
    <pageTemplate id="main">
        <pageGraphics>
        </pageGraphics>
        <frame id="titleBox" x1="2.5cm" y1="27.7cm" width="16cm"
            height="1cm"/>
        <frame id="columnOne" x1="2.5cm" y1="2.5cm" width="7.5cm"
            height="24.7cm"/>
        <frame id="columnTwo" x1="11cm" y1="2.5cm" width="7.5cm"
            height="24.7cm"/>
    </pageTemplate>
</template>

<stylesheet>
    <initialize>
        <name id="FileTitle" value="Example 5 - templates and
            pageTemplates"/>
        <name id="ColumnOneHeader" value="This is Column One"/>
        <name id="ColumnTwoHeader" value="This is Column Two"/>
    </initialize>

    <paraStyle name="titleBox"
    fontName="Helvetica-Bold"
    fontSize="18"
    spaceBefore="0.4 cm"
    alignment="CENTER"
    />
    
    <paraStyle name="body"
    fontName="Helvetica"
    fontSize="10"
    leftIndent="5"
    spaceAfter="5"
    />

</stylesheet>

<story>
    <para style="titleBox">
    <b><getName id="FileTitle"/></b>
    </para>

    <nextFrame/>

    <condPageBreak height="144"/><h2>
        <getName id="ColumnOneHeader"/>
    </h2>
    
    <para>
        This is the contents for <b>column one</b>.
    </para>
    <para>
        It uses the default style for paragraph.
    </para>
    <para>
        Does it come out OK?
    </para>
    <para>
        There now follows some random text to see how these paragraphs 
        look with longer content:
    </para>
    <para>
        Blah blah morale blah benchmark blah blah blah blah blah blah 
        communication blah blah blah blah blah blah blah blah blah 
        blah stretch the envelope blah blah blah.
    </para>
    <para>
        Blah blah blah blah blah blah blah blah blah blah blah blah 
        architect blah inter active backward-compatible blah blah blah 
        blah blah. Blah blah blah blah value-added. 
    </para>
    <para>
        Blah blah blah blah blah blah blah blah blah re-factoring 
        phase blah knowledge management blah blah. Blah blah blah blah 
        interactive blah vision statement blah.
    </para>
    <para>
        Blah blah blah blah blah blah conceptualize blah downsize blah 
        blah blah blah. Blah blah blah blah blah blah blah blah blah 
        blah blah blah synergy client-centered vision statement.
    </para>
    <para>
        Blah blah dysfunctional blah blah blah blah blah blah blah 
        appropriate blah blah blah blah blah blah blah blah 
        re-factoring go the extra mile blah blah blah blah.
    </para>

    <nextFrame/>

    <condPageBreak height="144"/>
	<h2>
        <getName id="ColumnTwoHeader"/>
    </h2>

    <para style="body">
        This is the contents for <i>column two</i>.
    </para>
    <para style="body">
        It uses the paragraph style we have called "body". 
    </para>
    <para style="body">
        Does it come out OK?
    </para>
    <para style="body">
        There now follows some random text to see how these paragraphs 
        look with longer content:
    </para>
    <para style="body">
        Blah OS/2 blah blah blah blah coffee blah blah blah blah 
        Windows blah blah blah blah blah blah blah. Blah blah blah 
        blah blah blah blah Modula-3 blah blah blah. Blah blah bug 
        report blah blah blah blah blah memory blah blah TeX TCP/IP 
        SMTP blah blah.
    </para>
    <para style="body">
        Blah blah blah blah blah Em blah letterform blah blah blah 
        blah blah blah blah blah blah letterform blah blah. Blah blah 
        blah blah leader blah blah blah blah.
    </para>
    <para style="body">
        Blah blah blah blah blah uppercase blah blah right justified 
        blah blah blah flush-right blah blah blah. Blah blah blah blah 
        blah blah spot-colour blah Em.
    </para>
    <para style="body">
        Blah dingbat blah blah blah blah blah blah blah blah blah blah 
        blah blah blah blah blah. Blah blah blah blah blah drop-cap 
        blah blah blah blah blah blah blah.
    </para>
</story>

</document>

]]>
</pre>
<spacer length="15"/>

<illustration width="228" height="333">
    <image file="images/Example_5a.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 5
</para>




<nextFrame/>

<condPageBreak height="144"/>
<h1>
Part II - Advanced Features
</h1>
<outlineAdd level="1">Part II-Advanced Features</outlineAdd>

<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="8"/>
<seqReset id="sectionNumber"/>
<getName id="chapterNumber"/>. 
Miscellaneous useful features
</h2>
<outlineAdd level="2">Miscellaneous useful features</outlineAdd>
                                                             
<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
pageNumber
</h3>
<outlineAdd level="3">pageNumber</outlineAdd>

<para>
As you'd expect from the name, this tag adds page numbers to your document.
This has nothing tricky to remember - all you have to do is put the a 
<font face="Courier">&lt;pageNumber/&gt;</font> tag where you want the page number to appear. 
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
name and getName
</h3>
<outlineAdd level="3">name and getName</outlineAdd>

<para>
The <font face="Courier">&lt;name&gt;</font> tag allows you to set a variable 
as you would in a programming language. You can then retrieve this to put in 
another place by using the <font face="Courier">&lt;getName&gt;</font> tag. You 
can do this as many or as few times as you need - so it is handy for things 
like headers and footers, or for items that you see changing many times over the 
life of your document such as version or revision numbers. If you set them using 
a <font face="Courier">&lt;name&gt;</font> tag, you only have to revise them in one place every time they change, 
rather than having to plough through the document changing them manually in each
location and inevitably missing one.
</para>

<para>                                    
<font face="Courier">&lt;name&gt;</font> has three attributes: <font face="Courier">id</font> 
and <font face="Courier">value</font> are required, but <font face="Courier">type</font> is optional.
<font face="Courier">&lt;getName&gt;</font> only has one attribute (<font face="Courier">id</font>), 
and this is required so that it knows which name to "yank".
</para>

<para>                                    
In practice, it would look something like this example:
</para>
         
<pre style="programListing">
<![CDATA[
<stylesheet>
    <initialize>
            <name id="YourVariableName" 
                  value="Type anything you want between these quotes..."/>
    </initialize>
</stylesheet>

<story>
    <para>
    <b><getName id="YourVariableName"/></b>
    </para>
<story>
]]>
</pre>
<spacer length="15"/>

<para>
You can also use the <font face="Courier">&lt;name&gt;</font> tag inside the story of a document. 
In this case, as well as setting the value for the variable, it is also displayed on the page  
(i.e. the name has a "textual value").
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Seq and seqReset
</h3>
<outlineAdd level="3">Seq and seqReset</outlineAdd>

<para>
The "seq" in <font face="Courier">&lt;seq&gt;</font>, <font face="Courier">&lt;seqDefault&gt;</font> and 
<font face="Courier">&lt;seqReset&gt;</font> stands for sequence. These tags are all 
used for paragraph numbering (or indeed anything that requires numbering items 
in a sequence, such as list items or figures and illustrations).
</para>

<para> This is how they look in use:</para>

<pre style="programListing">
<![CDATA[
<seq/>
<seqDefault id="myID"/>
<seqReset/> or <seqReset id="myID"/>
]]>
</pre>
<spacer length="15"/>

<para>
Each time you call <font face="Courier">&lt;seq/&gt;</font>, its value is automatically incremented.
</para>
<para>
With <font face="Courier">&lt;seqReset&gt;</font>, the <font face="Courier">id</font> is an optional 
attribute. However, it is still best to use it to save confusion.
</para>
<para>
Here is an example that shows <font face="Courier">&lt;seq/&gt;</font>, <font face="Courier">&lt;seqReset&gt;</font> 
and <font face="Courier">&lt;seqDefault&gt;</font> in use:
</para>

<pre style="programListing">
<![CDATA[

EXAMPLE 6

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_6.pdf"> 

<template>
    <pageTemplate id="main">
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
</stylesheet>

<story>
    <h1>
        seq in seq, seqDefault and seqReset
    </h1>
    <para>copied: <seq id="spam"/>, <seq id="spam"/>, <seq id="spam"/>.
Reset<seqReset id="spam"/>.  <seq id="spam"/>, <seq id="spam"/>,
<seq id="spam"/>.</para>
    <h2>
        <i>simple use of seq</i>
    </h2>
    <para>
        First seq: <seq/>
    </para>
    <para>
        Second seq: <seq/>
    </para>
    <spacer length="6"/>
    <para>
        <seqReset/>
        We have just done a &lt;seqReset"/&gt;
    </para>
    <spacer length="6"/>
    <para>
        First seq after seqReset: <seq/>
    </para>
    <para>
        second seq after seqReset: <seq/>
    </para>
    <spacer length="6"/>
    <para>
        If you are going to use multiple seq tags, you need to use the "id" attribute. 
    </para>

    <h2>
        <i>Better use of seq</i>
    </h2>
    <para>
        <seqDefault id="test"/>
        We have just done a &lt;seqDefault id="test"/&gt;
    </para>
    <para>
        <seqReset id="test"/>
        We have just done a &lt;seqReset id="test"/&gt;
    </para>
    <spacer length="6"/>
    <para>
        First seq: <seq id="test"/>
    </para>
    <para>
        Second seq: <seq id="test"/>
    </para>
    <spacer length="6"/>
    <para>
        <seqReset id="test"/>
        We have just done a &lt;seqReset id="test"/&gt;
    </para>
    <spacer length="6"/>
    <para>
        First seq after seqReset: <seq id="test"/>
    </para>
    <para>
        second seq after seqReset: <seq id="test"/>
    </para>

    <h2>
        <i>Using two seqs independently</i>
    </h2>
    <para>
        <seqReset id="testOne"/>
        We have just done a &lt;seqReset id="testOne"/&gt;
    </para>
    <para>
        <seqReset id="testTwo"/>
        We have just done a &lt;seqReset id="testTwo"/&gt;
    </para>
    <spacer length="6"/>
    <para>
        First seq for testOne: <seq id="testOne"/>
    </para>
    <para>
        Second seq for testOne: <seq id="testOne"/>
    </para>
    <spacer length="6"/>
    <para>
        First seq for testTwo: <seq id="testTwo"/>
    </para>
    <para>
        Second seq for testTwo: <seq id="testTwo"/>
    </para>
    <spacer length="6"/>
    <para>
        <seqReset id="testOne"/>
        We have just done a &lt;seqReset id="testOne"/&gt;
    </para>
    <spacer length="6"/>
    <para>
        First seq after seqReset for testOne: <seq id="testOne"/>
    </para>
    <para>
        second seq after seqReset for testOne: <seq id="testOne"/>
    </para>
    <spacer length="6"/>
    <para>
        First seq after seqReset for testTwo: <seq id="testTwo"/>
    </para>
    <para>
        second seq after seqReset for testTwo: <seq id="testTwo"/>
    </para>
    <spacer length="15"/>
    <para>
        Notice how resetting testOne doesn't affect testTwo at all.
    </para>

</story>

</document>
]]>
</pre>

<spacer length="15"/>

<blockTable
    rowHeights="18cm"
    colWidths="12cm"
	>
		<tr><td>
        <para style="h2">
        seq in seq, seqDefault and seqReset
    	</para>
    <para style="nospace">
	copied: <seq id="spam"/>, <seq id="spam"/>, <seq id="spam"/>.
Reset<seqReset id="spam"/>.  <seq id="spam"/>, <seq id="spam"/>,
<seq id="spam"/>.</para>
    <para style="style.h3">
	<b><i>simple use of seq</i></b>
    </para>
    <para style="nospace">
        First seq: <seq/>
    </para>
    <para style="nospace">
        Second seq: <seq/>
    </para>
    <spacer length="6"/>
    <para style="nospace">
        <seqReset/>
        We have just done a &lt;seqReset"/&gt;
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq after seqReset: <seq/>
    </para>
    <para style="nospace">
        second seq after seqReset: <seq/>
    </para>
    <spacer length="6"/>
    <para>
        If you are going to use multiple seq tags, you need to use the "id" attribute. 
    </para>

    <para style="style.h3">
	<b><i>Better use of seq</i></b>
    </para>
    <para style="nospace">
        <seqDefault id="test"/>
        We have just done a &lt;seqDefault id="test"/&gt;
    </para>
    <para style="nospace">
        <seqReset id="test"/>
        We have just done a &lt;seqReset id="test"/&gt;
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq: <seq id="test"/>
    </para>
    <para style="nospace">
        Second seq: <seq id="test"/>
    </para>
    <spacer length="6"/>
    <para style="nospace">
        <seqReset id="test"/>
        We have just done a &lt;seqReset id="test"/&gt;
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq after seqReset: <seq id="test"/>
    </para>
    <para>
        second seq after seqReset: <seq id="test"/>
    </para>

    <para style="style.h3">
	<b><i>Using two seqs independently</i></b>
	</para>
    <para style="nospace">
        <seqReset id="testOne"/>
        We have just done a &lt;seqReset id="testOne"/&gt;
    </para>
    <para style="nospace">
        <seqReset id="testTwo"/>
        We have just done a &lt;seqReset id="testTwo"/&gt;
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq for testOne: <seq id="testOne"/>
    </para>
    <para style="nospace">
        Second seq for testOne: <seq id="testOne"/>
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq for testTwo: <seq id="testTwo"/>
    </para>
    <para style="nospace">
        Second seq for testTwo: <seq id="testTwo"/>
    </para>
    <spacer length="6"/>
    <para style="nospace">
        <seqReset id="testOne"/>
        We have just done a &lt;seqReset id="testOne"/&gt;
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq after seqReset for testOne: <seq id="testOne"/>
    </para>
    <para style="nospace">
        second seq after seqReset for testOne: <seq id="testOne"/>
    </para>
    <spacer length="6"/>
    <para style="nospace">
        First seq after seqReset for testTwo: <seq id="testTwo"/>
    </para>
    <para style="nospace">
        second seq after seqReset for testTwo: <seq id="testTwo"/>
    </para>
    <spacer length="15"/>
    <para style="nospace">
        Notice how resetting testOne doesn't affect testTwo at all.
    </para>
	</td></tr>
</blockTable>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: The output from EXAMPLE 6
</para>

<para>
One more sophisticated use for using these tags is for multiple page counters. 
If you have a document where you need different sections numbered separately 
from the main body of a document (perhaps for introductory matter such as the 
contents and preface of a book), this can be done with a named <font face="Courier">seq</font> 
tag.
</para>
<para>
The page counter as used by the <font face="Courier">pageNumber</font> tag
is a 'unique value' which depends on the actual physical number of pages. 
If rather than using a <font face="Courier">pageNumber</font> tag, you 
instead use something like <font face="Courier">&lt;seq id="pageCounter"/&gt;</font>
, you have the ability to use <font face="Courier">&lt;seqReset id="pageCounter"/&gt;</font>
in between sections so that each chapter has pages numbered from the start of that chapter 
rather than the start of the document. If you use a different template for each chapter, this 
can then give you page numbers in the format "1-12" rather than just "12" (where you are on page 12 
of the document, which is page 12 of chapter 1).
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Entities
</h3>
<outlineAdd level="3">Entities</outlineAdd>

<para>
In example 6, we saw our first use of entities.
In RML, you can't use the characters "<font face="Courier">&lt;</font>", "<font face="Courier">&gt;</font>" 
or "<font face="Courier">&amp;</font>" inside any display elements such as <font face="Courier">drawString</font> or 
<font face="Courier">para</font>. 
If you do, rml2pdf will assume that they are tags and attempt to interpret them. Since they won't be valid RML tags, 
you will just end-up getting an error message along the lines of "<font face="Courier">Error: Start tag for undeclared element <i>&lt;YourNonValidTag&gt;</i></font>".
</para>

<para>
To get around this, you should use "entities".
</para>

<pre style="style.normal">

<![CDATA[
When you need to use "<", replace it with "&lt;",
when you need to use ">;", replace it with "&gt;", 
and when you need to use "&", replace it with "& amp;".

]]>
</pre>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Aliases
</h3>
<outlineAdd level="3">Aliases</outlineAdd>

<para>
Aliases allow you to assign more than one name to a paragraph style. 
</para>
<para>
The alias tag has two required attributes - <font face="Courier">id</font> and 
<font face="Courier">value</font>.
</para>
<para style="nospace">
Example:
</para>
<para style="programListing">
&lt;alias id="alreadyDefinedStyleName" value="myNewStyleName"/&gt;
</para>

<spacer length="15"/>

<para>
This can be useful in a number of ways. 
</para>
<para>
You can give a more descriptive name to a style. So you can define a number of 
paragraph styles called things like "<font face="Courier"><i>ItalicBold</i></font>" 
or "<font face="Courier"><i>DesignerOneParagraphStyleTwo</i></font>" in the 
<font face="Courier">stylesheet</font> for your document. You can then assign aliases to these styles 
using names that describe the role they fill in your document such as 
"<font face="Courier"><i>pictureCaption</i></font>", 
"<font face="Courier"><i>abstract</i></font>", 
"<font face="Courier"><i>acknowledgement</i></font>" and so on.
</para>
<para>
If at any point you decide to change the style for that kind of paragraph, 
you can then change it in one alias rather than in every individual paragraph 
that uses that style.
</para>

<!-- commented out - this currently doesn't work. -->
<!-- awaiting clarification from Aaron about this -->
<!--<para>
Aliases can also save you typing. You can assign a short alias for a long paragraph 
name. More usefully, you can use an alias so that your chosen style becomes the default 
style for any paragraphs that don't have a style attribute after that point. To do this you would use 
something like:
</para>
<para fontName="Courier" fontSize="10">
&lt;alias id="para.default" value="myStyleName"/&gt;
</para>
-->


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
CDATA
</h3>
<outlineAdd level="3">CDATA</outlineAdd>

<para>
<font face="Courier">CDATA</font> is a standard XML tag which 
indicates to the parser (in this case rml2pdf) to ignore anything 
inside the <font face="Courier">CDATA</font> section. It 
shouldn't parse it or process it in any way - just display it.
</para>

<para>
A <font face="Courier">CDATA</font> section is started with the 
characters "<font face="Courier">&lt;![CDATA[</font>" and is 
closed off with the characters "<font face="Courier">]]&gt;</font>". 
It can appear inside any flowable - though it is most useful inside 
a <font face="Courier">&lt;pre&gt;</font> tag.
</para>

<para>
<font face="Courier">CDATA</font> may be useful in places where you 
have large quantities of "<font face="Courier">&lt;</font>" and 
"<font face="Courier">&gt;</font>" characters that you want to display 
in your PDF, and that you would rather not have to convert them all to 
"<font face="Courier">&amp;lt;</font>" and 
"<font face="Courier">&amp;gt;</font>" entities. Quoting sections 
of RML, XML, or HTML code is an example of a good place to use 
<font face="Courier">CDATA</font> - if you needed to revise the code 
example at a later date, you would have to convert the characters in 
every tag into entities. <font face="Courier">CDATA</font> saves you 
having to do this.
</para>

<para>
However, you should only use <font face="Courier">CDATA</font> when necessary. 
If you are using other XML tools, they will also ignore anything inside a 
<font face="Courier">CDATA</font> section.
</para>

<para style="nospace">
Example:
</para>

<condPageBreak height="90"/>
<pre style="programListing">
<![CDATA[
	<pre>
	<![CDATA[
		Anything could go here. <non_existant_tags/>, "&" signs. 
		Whatever you want. RML ignores it.
	]] >
	</pre>
]]>
</pre>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Plugins: plugInGraphics and plugInFlowables
</h3>
<outlineAdd level="3">Plugins: plugInGraphics and plugInFlowables</outlineAdd>

<para>Both <font face="Courier">plugInGraphic</font>s and 
<font face="Courier">plugInFlowable</font>s allow you to
use objects from outside your RML document.</para>

<para><b>plugInGraphic</b></para>
<para>
A <font face="Courier">plugInGraphic</font> identifies a function (callable) in a module which 
takes a canvas and a data string as arguments and presumably draws 
something on the canvas using information in the data string.
</para>
<para style="nospace">
Example:
</para>
<pre style="programListing">
    <![CDATA[
    <plugInGraphic module="mymodule" function="myfunction>data string</plugInGraphic>
    ]]>
</pre>
<spacer length="15"/>

<para>when executed results in effectively the following execution sequence:</para>

<para style="bulletNospace">
    import mymodule
</para>
<para style="bulletList">
    mymodule.myfunction(canvas, "data string")
</para>
<para>
using the current canvas object.
</para>
<para>
<font face="Courier">&lt;PlugInGraphic&gt;</font> has two mandatory attributes: 
<font face="Courier">module</font> and 
<font face="Courier">function</font>. 
It is used in the <font face="Courier">&lt;pageGraphics&gt;</font> section of 
your document.
</para>

<para><b>plugInFlowable</b></para>
<para>
A <font face="Courier">plugInFlowable</font> identifies a function (callable) in a module which 
takes a canvas data string as an argument and returns a flowable 
object <!--(in the platypus sense)-->:
</para>
<para style="nospace">Example:</para>

<pre style="programListing">
<![CDATA[
    <plugInFlowable module="mymodule" function="myfunction>data string</plugInFlowable>
]]>
</pre>
<spacer length="15"/>

<para>
when executed results in effectively the execution sequence:
</para>
<para style="bulletNospace">
    import mymodule
</para>
<para style="bulletNospace">
    flowable=mymodule.myfunction("data string")
</para>
<para style="bulletList">
    story.append(flowable)
</para>
<para>
using the current canvas object.
</para>
<para>
<font face="Courier">plugInFlowable</font> has two mandatory attributes: 
<font face="Courier">module</font> and <font face="Courier">function</font>. 
It is also used in the <font face="Courier">&lt;pageGraphics&gt;</font> section 
of your document.
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Integrating with PageCatcher: the <font face="Courier">&lt;catchForms&gt;</font> tag
</h3>
<outlineAdd level="3">Integrating with PageCatcher: the catchForms tag</outlineAdd>

<para>
You can use our product PageCatcher to capture individual pages from 
an external PDF file (e.g. application forms, government forms, annual 
reports and so on). Extracting the required pages with PageCatcher will 
most often be a one-off design-time step. Once PageCatcher has extracted
a page, it archives it in a data file as formatted form data. (The default
name for this file is "storage.data").</para>

<para>
If you have full production versions of both RML2PDF and PageCatcher you
can use the <font face="Courier">&lt;catchForms&gt;</font> tag to import
all forms from a PageCatcher storage file for use in your RML document.
</para>

<para style="nospace">Example: </para>
<para>
This example takes the form called PFO (a page "caught" by PageCatcher and
stored in the file storage.data) and draws it into your document as a page
backdrop.
</para>

<pre style="programListing">
<![CDATA[
    <pageDrawing>
    <catchForms storageFile="storage.data"/>
    <doForm name="PF0"/>
    </pageDrawing>
]]>
</pre>
<spacer length="15"/>

<para>
The <font face="Courier">&lt;catchForms&gt;</font> tag is a drawing operation,
and can occur anywhere in your RML document where a <font face="Courier">&lt;doForm&gt;</font> 
tag can occur. (For example, you can use a <font face="Courier">&lt;catchForms&gt;</font> inside 
the flow of a story by using it inside an <font face="Courier">&lt;illustration&gt;</font>). 
The <font face="Courier">&lt;catchForms&gt;</font> tag has one mandatory argument (storageFile) 
which gives the name of the PageCatcher storage file to extract the form from.
</para>

<para>
[<b>Note</b>: For the <font face="Courier">&lt;catchForms&gt;</font>
tag to work, you must have PageCatcher installed. In addition, your 
PageCatcher must be the full version with a .py or .pyc file. The 
*.exe version of PageCatcher will <i>not</i> work with RML2PDF.
If you get the error message "ImportError: catchForms tag requires 
the PageCatcher product http://www.reportlab.com", then you either 
do not have PageCatcher installed, or have the wrong version].
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Outlines: the <font face="Courier">&lt;outlineAdd&gt;</font> tag
</h3>
<outlineAdd level="3">Outlines: the outlineAdd tag</outlineAdd>

<para>
The <font face="Courier">&lt;outlineAdd&gt;</font> adds an outline entry to your document.  
It can go in either graphics or in a story. (Assigning outline levels to parts of your
document (such as paragraphs) allows you to build up a hierarchical structure for your document).  
</para>

<para>
<font face="Courier">&lt;outlineAdd&gt;</font> has two optional attributes: <font face="Courier">level</font> and <font face="Courier">closed</font>
</para>

<para>
The <font face="Courier">level</font> specifies how deep in the outline the
entry appears. The default level is 0.
</para>

<para>
<font face="Courier">closed</font>, if set, hides any children of this outline entry by default.
Closed takes Boolean arguments.
</para>

<para style="nospace">Example: </para>

<pre style="programListing">
<![CDATA[
	<outlineAdd>First outline entry</outlineAdd>
	<outlineAdd level="1">sub entry</outlineAdd>
	<outlineAdd closed="true">Second outline entry 2</outlineAdd>
	<outlineAdd level="1">sub entry 2</outlineAdd>
]]>
</pre>
<spacer length="15"/>
<para>
A note about levels: in order to add a level 3 outline entry, the previous outline
entry must be at least level 2 (2,3,4...).  In other words, you can "move back" any 
number of levels, but you can only "move forward" one level at a time.
</para>

	
<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Form field tags
</h3>
<outlineAdd level="3">Form field tags</outlineAdd>

<para>
An important class of reports contains lots of fields to be 
traditionally filled in manually by users, like for application 
forms and similar cases.
Sometimes though, these fields are already filled in by some 
computational process and the user might only need to sign the
entire form before leaving it with a bank clerk or sending it 
off to some destination.
RML supports creating both kind of reports by providing a set of 
special-purpose tags to create such form elements (or fields, 
widgets...) quite easily. 
These tags are named <font face="Courier">&lt;checkBox&gt;</font>
<font face="Courier">&lt;textBox&gt;</font> and 
<font face="Courier">&lt;letterBoxes&gt;</font> and
are described in the rest of this section.
</para>

<para>
All these form elements share a lot of features when it comes
to what they look like in the document. 
They all appear as a rectangular shape with some background and 
border colour, plus some width for the border itself. 
They also have some sort of text label attached to this rectangle 
to describe the field's purpose in the context of the report to 
the human reader.
The text inside the field as well as the one in the attached label
also should have the usual properties like fontname and size and 
colour.
All form field elements have a <font face="Courier">boxStyle</font>
attribute that can be used to group attribute names and values
and reuse them in many field elements with much less typing 
effort.
</para>

<para>
But there are also specific features that distinguish these 
form elements from each other.
A <i>checkbox</i> does not contain text, but only a cross (when 
checked), and a <i>textbox</i> contains one or more lines of text 
with different possible alignments, while <i>letterboxes</i> are 
used for single line mono-space text with visible subcompartments 
for each letter.
</para>

<para>
<i>Checkboxes</i>
</para>

<para>
Because checkboxes do not contain text it can be argued that 
when they are to be displayed as checked the cross' colour 
should be the same as the border colour.
Equally well it can be argued that it should be the same colour
used for text in textboxes. 
To provide both options checkboxes have an additional colour 
attribute named <font face="Courier">checkStrokeColor</font> 
which will be used for the cross instead of the border colour
if the former is provided.
</para>

<para>
Note that the label attached to a checkbox is limited to three
lines of text now and always appears at the right margin of 
the box, but this might be generalised in future versions.
The label is expected to be vertically centered with the box
no matter how many lines it is composed of.
</para>

<para>
The following code creates a row of sample checkboxes providing 
different values for the most relevant attributes:
</para>

<pre style="programListing">
<![CDATA[
    <checkBox x="0cm" y="0cm" checked="0"/>

    <checkBox x="1.5cm" y="0cm" checked="1"/>

    <checkBox x="3cm" y="0cm" 
              boxWidth="0.75cm" boxHeight="1cm"
              checked="1"/>

    <checkBox x="4.5cm" y="0cm" 
              boxWidth="0.75cm" boxHeight="1cm"
              lineWidth="0.1cm"
              checked="1"/>

    <checkBox x="6cm" y="0cm" 
              lineWidth="0.1cm"
              boxFillColor="yellow" boxStrokeColor="green" 
              checked="1"/>

    <checkBox x="7.5cm" y="0cm" 
              lineWidth="0.1cm"
              boxFillColor="yellow" boxStrokeColor="green" 
              checkStrokeColor="red" 
              checked="1"/>

    <checkBox x="9cm" y="0"
              line1="desc 1" 
              line2="desc 2" 
              checked="1"/>

    <checkBox x="11.5cm" y="0"
              line1="desc 1" 
              line2="desc 2" 
              line3="desc 3"
              checked="1"/>
]]>
</pre>
<spacer length="15"/>

<illustration width="10cm" height="1cm">
    <checkBox x="0cm" y="0cm" checked="0"/>

    <checkBox x="1.5cm" y="0cm" checked="1"/>

    <checkBox x="3cm" y="0cm" 
              boxWidth="0.75cm" boxHeight="1cm"
              checked="1"/>

    <checkBox x="4.5cm" y="0cm" 
              boxWidth="0.75cm" boxHeight="1cm"
              lineWidth="0.1cm"
              checked="1"/>

    <checkBox x="6cm" y="0cm" 
              lineWidth="0.1cm"
              boxFillColor="yellow" boxStrokeColor="green" 
              checked="1"/>

    <checkBox x="7.5cm" y="0cm" 
              lineWidth="0.1cm"
              boxFillColor="yellow" boxStrokeColor="green" 
              checkStrokeColor="red" 
              checked="1"/>

    <checkBox x="9cm" y="0"
              line1="desc 1" 
              line2="desc 2" 
              checked="1"/>

    <checkBox x="11.5cm" y="0"
              line1="desc 1" 
              line2="desc 2" 
              line3="desc 3"
              checked="1"/>
</illustration>

<spacer length="0.5cm"/>

<para>
<i>Textboxes</i>
</para>

<para>
A textbox contains one, but often more lines of text, like in an
address field.
(Of course, it can also contain no text at all, like for a 
signature field.)
Sometimes it is not clear in advance exactly how much text will 
go into one such field.
Therefore, textbox fields in RML provide a means for automatically
resizing the fontsize to shrink the contained text by exactly 
what is needed to make it fit into the box.
This is a two-step process that first tries to shrink the fontsize
to make the text fit horizontally.
If that is not enough, it is further shrinked to make it also fit
vertically.
This process is controlled using the attribute 
<font face="Courier">shrinkToFit</font>.
</para>

<para>
Because human readers are very sensible to reading text and get
quickly irritated when it does not feel "right", there is a default 
amount of space (1 point) left between the text and any of the 
borders of the box, which will be respected by the resizing 
mechanism.
This is hardcoded now, but might become another attribute in the 
future.
</para>

<para>
The following code creates a row of sample textboxes illustrating 
different values for the most relevant attributes:
as well as the auto-resizing text feature:
</para>

<pre style="programListing">
<![CDATA[
    <textBox x="0cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             label="labeled textbox">some text</textBox>

    <textBox x="3.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             label="colorful textbox">some text</textBox>

    <textBox x="7cm" y="0cm" 
             lineWidth="0.1cm"
             boxWidth="3cm" boxHeight="1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             label="bold textbox">some text</textBox>

    <textBox x="10.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm"
             lineWidth="0.1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             fontName="Times-Bold"
             fontSize="14"
             label="textfancy textbox">some text</textBox>
]]>
</pre>

<illustration width="18cm" height="2cm">
    <textBox x="0cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             label="labeled textbox">some text</textBox>

    <textBox x="3.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             label="colorful textbox">some text</textBox>

    <textBox x="7cm" y="0cm" 
             lineWidth="0.1cm"
             boxWidth="3cm" boxHeight="1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             label="bold textbox">some text</textBox>

    <textBox x="10.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm"
             lineWidth="0.1cm"
             boxFillColor="yellow" boxStrokeColor="blue"
             fontName="Times-Bold"
             fontSize="14"
             label="textfancy textbox">some text</textBox>
</illustration>

<spacer length="0.5cm"/>

<para>
The following code creates a row of sample textboxes illustrating 
the auto-resizing text feature:
</para>

<pre style="programListing">
<![CDATA[
    <textBox x="0cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             fontSize="14" 
             label="no resizing">some text</textBox>

    <textBox x="3.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             fontSize="14"
             label="horiz. resizing">some more text</textBox>

    <textBox x="7cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             shrinkToFit="1" 
             fontSize="14"
             label="vert. resizing">some text
some text
some text</textBox>

    <textBox x="10.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             shrinkToFit="1" 
             fontSize="14"
             label="horiz./vert. resizing">some more text
some text 
some text
some text</textBox>
]]>
</pre>

<illustration width="18cm" height="2cm">
    <textBox x="0cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             fontSize="14" 
             label="no resizing">some text</textBox>

    <textBox x="3.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             fontSize="14"
             label="horiz. resizing">some more text</textBox>

    <textBox x="7cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             shrinkToFit="1" 
             fontSize="14"
             label="vert. resizing">some text
some text
some text</textBox>

    <textBox x="10.5cm" y="0cm" 
             boxWidth="3cm" boxHeight="1cm" 
             shrinkToFit="1" 
             fontSize="14"
             label="horiz./vert. resizing">some more text
some text 
some text
some text</textBox>
</illustration>

<spacer length="0.5cm"/>

<para>
<i>Letterboxes</i>
</para>

<para>
Letterboxes are intended for single-line text fields where each 
letter is contained in a subcell, clearly seperated from 
neighbouring cells.
This is often seen on official forms where people are expected
to write letters of a word at predefined positions.
RML provides such letterboxes, too, and they behave mostly 
like textboxes, but show some significant differences, too.
</para>

<para>
Usually, the overall width of a form field element is defined by
the mandatory <font face="Courier">boxWidth</font> attribute.
For letterboxes, though, this is an optional attribute and 
specifies the width of a <i>subcell</i> containing one letter.
The resulting width of the entire box is defined as a multiple 
of that <font face="Courier">boxWidth</font> attribute with another 
one named <font face="Courier">count</font>, which is a mandatory
attribute.
</para>

<para>
The following code creates a row of sample letterboxes showing 
basic attributes:
</para>

<pre style="programListing">
<![CDATA[
    <letterBoxes x="0cm" y="7.5cm" 
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="6cm" 
                 count="12">more letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="4.5cm" 
                 boxWidth="0.75cm"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="3cm" 
                 lineWidth="0.1cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="1.5cm" 
                 lineWidth="0.1cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 fontName="Courier-Bold"
                 fontSize="14"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="0cm" 
                 lineWidth="0.1cm"
                 boxWidth="0.75cm" boxHeight="0.75cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 fontName="Times-Bold"
                 fontSize="14"
                 count="12">letterboxes</letterBoxes>
]]>
</pre>

<spacer length="0.25cm"/>

<illustration width="15cm" height="8.5cm">
    <letterBoxes x="0cm" y="7.5cm" 
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="6cm" 
                 count="12">more letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="4.5cm" 
                 boxWidth="0.75cm"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="3cm" 
                 lineWidth="0.1cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="1.5cm" 
                 lineWidth="0.1cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 fontName="Courier-Bold"
                 fontSize="14"
                 count="12">letterboxes</letterBoxes>

    <letterBoxes x="0cm" y="0cm" 
                 lineWidth="0.1cm"
                 boxWidth="0.75cm" boxHeight="0.75cm"
                 boxFillColor="yellow" boxStrokeColor="blue"
                 label="some label"
                 fontName="Times-Bold"
                 fontSize="14"
                 count="12">letterboxes</letterBoxes>
</illustration>

<spacer length="0.5cm"/>

<para>
<i>Using styles with form field elements</i>
</para>

<para>
More to come...
</para>


<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="9"/>
<getName id="chapterNumber"/>
<seqReset id="sectionNumber"/>. 
More graphics
</h2>
<outlineAdd level="2">More graphics</outlineAdd>

<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Curves
</h3>
<outlineAdd level="3">Curves</outlineAdd>

<para>
We have seen how you can use the <font face="Courier">&lt;lines&gt;</font> tag to create a 
number of straight lines with one command. Not all the lines you want to draw will be straight, 
which is why we have the <font face="Courier">&lt;curves&gt;</font> tag.
</para>

<para>
Like <font face="Courier">&lt;lines&gt;</font>, <font face="Courier">&lt;curves&gt;</font> must appear 
in the <font face="Courier">pageGraphics</font> section of your <font face="Courier">template</font>. 
Unlike <font face="Courier">lines</font>, you need to specify 4 points as X-Y co-ordinate pairs (i.e. you need to feed 
<font face="Courier">curves</font> sequences of 8 numbers at a time, rather than the 4 you need for 
<font face="Courier">lines</font>).
</para>

<para>
The <font face="Courier">curves</font> tag produces a <i>Bezier curve</i>.
Bezier curves are named after the the French mathematician, Pierre Bézier, and are curves that
utilize at least three points to define a curve. RML curves use the two endpoints (or "anchor 
points") and two "nodes".
</para>

<illustration width="450" height="286">
    <image file="images/Bezier_1.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: A Bezier Curve
</para>


<para>
In RML, if you give a curve 4 control points (which we shall call (x1,y2), (x2,y2), (x3,y3), and (x4, y4)), 
the start point of the curve will be specified by (x1,y1) and the endpoint specified by (x4,y4). 
The line segment from (x1,y1) to (x2,y2) forms a tangent to the curve. The line segment from (x3,y3) to 
(x4,y4) also forms a tangent to the curve. If you look at an illustration of a Bezier curve, you will 
see that the curve is entirely contained within the convex figure with its vertices at the control points.
</para>
<para>
Example:
</para>

<pre style="programListing">
<![CDATA[
<template> 
    <pageTemplate id="main">
    <pageGraphics>
        <curves>
            198 560
            198 280
            396 280
            396 560
        </curves>
    </pageGraphics>
    <frame id="first" x1="0.5in" y1="0.5in" width="20cm" height="28cm"/>
    </pageTemplate>
</template>

]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using paths
</h3>
<outlineAdd level="3">Using paths</outlineAdd>

<para>
To connect lines and curves you need to use the <font face="Courier">&lt;path&gt;</font> 
tag. This allows you to make complex figures.
</para>

<para>
Like the other graphics in RML, <font face="Courier">&lt;path&gt;</font> lives in the 
<font face="Courier">&lt;pageGraphics&gt;</font> section at the start of the document.
</para>

<para>
Initially, you must give a <font face="Courier">&lt;path&gt;</font> tag 
<font face="Courier">x</font> and <font face="Courier">y</font> 
attributes to tell it the co-ordinates for the point where this path is going to start. You may 
also at the same time give it attributes called <font face="Courier">stroke</font> and 
<font face="Courier">fill</font> (which do the same as their 
counterparts for the basic shapes such as <font face="Courier">rect</font> and 
<font face="Courier">circle</font>), and an additional one called <font face="Courier">close</font>. 
If the close attribute is set to "yes" or "1", then once the <font face="Courier">path</font> is 
completed, the <font face="Courier">stroke</font> is finished off by painting a line from the last point given 
to the first point, enclosing the figure.
</para>

<para>
The <font face="Courier">&lt;path&gt;</font> tag has its paired <font face="Courier">&lt;/path&gt;</font> 
tag. Between these two tags, you can have a number of things.
</para>

<para style="bulletNospace" bulletText="l">
You can have a list of pairs of X-Y co-ordinates. 
</para>
<para style="bulletList" bulletText="">
If this is the case, a straight line is drawn to each point in turn.
</para>
<para style="bulletNospace" bulletText="l">
You can have a paired <font face="Courier">&lt;moveto&gt;&lt;/moveto&gt;</font> tag.
</para>
<para style="bulletList" bulletText="">
If this is the case, you need to give an x-y co-ordinate pair between these two tags. 
The "pen" or "brush" then moves to this point, and any further points or instructions 
given after this (while still inside the <font face="Courier">&lt;path&gt;</font> tag) 
continue onwards from this new point.
</para>

<para style="bulletNospace" bulletText="l">
You can have a paired <font face="Courier">&lt;curvesto&gt;&lt;/curvesto&gt;</font> tag.
</para>
<para style="bulletList" bulletText="">
This is similar to both the <font face="Courier">&lt;curves&gt;</font> tag and the 
<font face="Courier">&lt;moveto&gt;</font> tag discussed above. Inside the pair 
of <font face="Courier">&lt;curvesto&gt;</font> tags, you need to give rml2pdf sets of 
<i>3</i> pairs of X-Y co-ordinates at a time. Like <font face="Courier">&lt;curves&gt;</font>, 
<font face="Courier">&lt;curvesto&gt;</font> creates a Bezier curve. However, since it is inside 
a <font face="Courier">path</font> object, it already knows one of the points - the start point 
is assumed to be the last point in the path before the <font face="Courier">&lt;curvesto&gt;</font> 
tag. In other words, the "pen" or "brush" is already in a position, and this is taken as the first 
point for your Bezier curve. 
</para>

<para>
Here is an example of how a <font face="Courier">&lt;path&gt;</font> looks in action:
</para>

<illustration width="374" height="333">
    <image file="images/Example_7b.gif" x="0" y="12"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: The output from EXAMPLE 7
</para>


<pre style="programListing">
<![CDATA[
EXAMPLE 7a

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_7a.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>
        <fill color="red"/>
        <stroke color="black"/>
        <path x="247" y="72" fill="yes" stroke="yes" close="yes">
            247 172
            147 172
            147 272
            247 272
            247 372
            347 372
            347 372
            347 272
            447 272
            447 172
            347 172
            347 72
            <!-- This completes the first shape: a red cross.-->
        <moveto>267 572</moveto>
            <!-- This moves the "pen position"                              -->
            <!-- Notice that because we have used a "moveto", the           -->
            <!-- final line at the base of the cross is not completed, even -->
            <!-- though the "close" attribute of the "path" tag is set to   -->
            <!-- "yes"                                                      -->
            277 612 
            <!-- this acts as the start point for the Bezier curves below   -->
            
        <curvesto>
            147 585
            147 687
            297 792
            
            447 687 447 585 317 612 
        </curvesto>
            327 572
            <!-- We don't need to give the last point because close is -->
            <!-- set to "yes"                                          -->
        </path>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
</stylesheet>

<story>
<para></para>
</story>

</document>

]]>
</pre>
<spacer length="15"/>

<para>
This example has used the 'template/stylesheet/story' form of document. But the story is empty, 
and we haven't used the stylesheet at all. The following example shows how we can use the 
'pageDrawing' form.
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 7b

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_7b.pdf"> 

<stylesheet>
</stylesheet>

<pageDrawing>
        <fill color="red"/>
        <stroke color="black"/>
        <path x="247" y="72" fill="yes" stroke="yes" close="yes">
            247 172
            147 172
            147 272
            247 272
            247 372
            347 372
            347 372
            347 272
            447 272
            447 172
            347 172
            347 72
        <moveto>267 572</moveto>
            277 612 
        <curvesto>
            147 585 147 687 297 792
            447 687 447 585 317 612 
        </curvesto>
            327 572
        </path>
</pageDrawing>

</document>

]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
The &lt;grid&gt; tag
</h3>
<outlineAdd level="3">The grid tag</outlineAdd>

<para>
The <font face="Courier">&lt;grid&gt;</font> is a graphics tag, and hence lives in the 
<font face="Courier">PageGraphics</font> section of your RML document. It produces a grid of lines. 
It takes two arguments - <font face="Courier">xs</font> which is a list of x co-ordinates (separated by commas), 
and <font face="Courier">ys</font> which is a comma-separated list of y co-ordinates. </para>

<para>
Example:
</para>

<pre style="programListing">
<![CDATA[
<grid xs="1cm,2cm,3cm,4cm,5cm,10cm" ys="1cm,2cm,3cm,4cm,5cm,10cm"/>
]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Translate
</h3>
<outlineAdd level="3">Translate</outlineAdd>

<para>
In a graphic operation (i.e. a <font face="Courier">pageGraphic</font> or an <font face="Courier">illustration</font>), 
<font face="Courier">&lt;translate&gt;</font> moves the origin of the drawing. 
</para>
<para>
<font face="Courier">&lt;translate&gt;</font> takes two optional attributes: <font face="Courier">dx</font> and 
<font face="Courier">dy</font>. Both can be given in any unit that RML understands. 
<font face="Courier">dx</font> is the distance that the to be moved in the X axis, and 
<font face="Courier">dy</font> is the distance it is to be moved in the Y axis.
They are optional to allow you to only give one of the pair - so moving the origin in only one direction.
</para>
<para style="nospace">
Examples:
</para>

<pre style="programListing">
<![CDATA[
<translate dx="55" dy="91"/>
<translate dx="1in"/>
<translate dy="6.5cm"/>
]]>
</pre>
<spacer length="15"/>

<para>
This is what a translation with a <font face="Courier">dx</font> of 50 and a 
<font face="Courier">dy</font> of 50 looks like:
</para>
<illustration width="256" height="152">
    <lineMode width="2" cap="square"/>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>
    
    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="16" y="41">X</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">dx=50 dy=50</drawCentredString>
    <!-- This is relative to the origin of the black lines in the illustration,
         which is why it doesn't match the actual translate performed:
         it is what the translate would be if the origin was at 15,40  -->

    <setFont name="Times-Roman" size="8"/>
    <fill color="grey"/>
    <drawCentredString x="33" y="33">50 pt</drawCentredString>
    
    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <stroke color="black"/>
    <translate dx="55" dy="91"/>
    <drawString x="0" y="0">X</drawString>
    <lineMode width="1" dash="5,4"/>
    <stroke color="lightgrey"/>
    <lines>
        0 0 0 50
        0 0 50 0
    </lines>
    <translate dx="-50" dy="-50"/>
    <lines>
        50 50 50 0
        8 50 50 50
    </lines>

    <fill color="grey"/>
    <setFont name="Times-Roman" size="8"/>
    <rotate degrees="90"/>
    <drawCentredString x="25" y="-6">50 pt</drawCentredString>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: An example of the &lt;translate&gt; tag in use
</para>


<para>
And this is slightly simplified version of the relevant bit of RML:
</para>

<pre style="programListing">
<![CDATA[
<illustration>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>
    
    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="16" y="41">X</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="8"/>
    <fill color="lightgray"/>
    <drawCentredString x="58" y="18">50 pt</drawCentredString>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">dx=50 dy=50</drawCentredString>
    <!-- This is relative to the origin of the black lines in the illustration,
         which is why it doesn't match the actual translate performed:
         it is what the translate would be if the origin was at 15,40  -->

    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <translate dx="55" dy="91"/>
    <drawString x="0" y="0">X</drawString>
    
</illustration>
]]>
</pre>

<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Scale
</h3>
<outlineAdd level="3">Scale</outlineAdd>

<para>
<font face="Courier">&lt;scale&gt;</font>, as its name suggests, allows you to stretch or shrink a graphic. 
</para>
<para>
The <font face="Courier">&lt;scale&gt;</font> tag takes two optional attributes: <font face="Courier">sx</font> 
and <font face="Courier">sy</font>. <font face="Courier">sx</font> is how much to scale the X axis, and 
<font face="Courier">sy></font> is how much to scale the Y axis. The scaling does not have to be 
proportional - omitting one allows you to change the scaling in one direction only. And you can shrink 
the shape as well as scale it up - an <font face="Courier">sx</font> or <font face="Courier">sy</font> of 
"2" doubles the size of it, but an <font face="Courier">sx</font> or <font face="Courier">sy</font> of "0.5" halves it.
</para>
<para>
Scale factors can also be negative. Using an <font face="Courier">sx</font> of -1 and an 
<font face="Courier">sy</font> of 1 produces a mirror image.
</para>
<para style="nospace">
Examples:
</para>

<pre style="programListing">
<![CDATA[
<scale sx="2" sy="0.25"/>
<scale sx="2"/>
<scale sy="0.5"/>
]]>
</pre>
<spacer length="15"/>

<para>
This is what a scale with a <font face="Courier">sx</font> of 2 and an <font face="Courier">sy</font> of 2 looks like:
</para>
<illustration width="256" height="152">
    <lineMode width="2" cap="square"/>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="16" y="41">X</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">sx=2 sy=2</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>

    <fill color="red"/>
    <stroke color="black"/>
    <scale sx="2" sy="2"/>
    <drawString x="8" y="20.5">X</drawString>
    
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: An example of the &lt;scale&gt; tag in use
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Rotate
</h3>
<outlineAdd level="3">Rotate</outlineAdd>

<para>
The <font face="Courier">&lt;rotate&gt;</font> tag allows allows you to rotate a graphic.</para>
<para>
<font face="Courier">&lt;rotate&gt;</font> takes one mandatory attributes called 
<font face="Courier">degrees</font>, which is the number of degrees to rotate 
the object. A positive number for degrees rotates it <i>anti-clockwise</i>, a 
negative number rotates it clockwise.
</para>
<para>
When using <font face="Courier">&lt;rotate&gt;</font>, objects are rotated around the 
<i>current origin</i>. If you want to rotate a specific element of a 
<font face="Courier">pageGraphic</font> or <font face="Courier">illustration</font>, 
you will have to use a <font face="Courier">translate</font> to move the origin before 
you do the <font face="Courier">rotate</font>.
</para>
<para>
If you <font face="Courier">translate</font> to the middle of the page, rotate by 90 degrees 
and then draw the string "hello", the "hello" will appear starting in the middle of the page
going upwards.
</para>
<para style="nospace">
Examples:
</para>

<pre style="programListing">
<![CDATA[
<rotate degrees="90"/>   <!-- ANTI-clockwise -->
<rotate degrees="-90"/>  <!-- clockwise -->
]]>
</pre>
<spacer length="15"/>
<para>
This is what a <font face="Courier">&lt;rotate&gt;</font> looks like with 
<font face="Courier">degrees</font> set to 45 and -45:
</para>
<illustration width="256" height="152">
    <lineMode width="2" cap="square"/>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="56" y="41">P</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">degrees=45</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>

    <fill color="red"/>
    <stroke color="black"/>
    <translate dx="52" dy="41"/>
    <fill color="red"/>
    <setFont name="Helvetica-Bold" size="50"/>
    <rotate degrees="45"/>
    <drawString x="0" y="0">P</drawString>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: A rotate with a positive value for degrees.
</para>


<illustration width="256" height="152">
    <lineMode width="2" cap="square"/>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="56" y="41">P</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">degrees=- 45</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>

    <fill color="red"/>
    <stroke color="black"/>
    <translate dx="62" dy="41"/>
    <fill color="red"/>
    <setFont name="Helvetica-Bold" size="50"/>
    <rotate degrees="-45"/>
    <drawString x="0" y="0">P</drawString>
    
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: A rotate with a negative value for degrees.
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Skew
</h3>
<outlineAdd level="3">Skew</outlineAdd>

<para>
<font face="Courier">&lt;skew&gt;</font> is a transform which distorts both axes of a graphic. It is non-orthagonal - in 
other words, it is a transformation that does not preserve right angles.
</para>
<para>
<font face="Courier">&lt;skew&gt;</font> has two mandatory attributes: <font face="Courier">alpha</font> and 
<font face="Courier">beta</font>. Both are angles - look at the example below to see how they work.
</para>
<para style="nospace">
Example:
</para>

<pre style="programListing">
<![CDATA[
<skew alpha="10" beta="10"/>
]]>
</pre>
<spacer length="15"/>


<para>
This is what a <font face="Courier">skew</font> with an <font face="Courier">alpha</font> of 10 and a 
<font face="Courier">beta</font> of 30 looks like:
</para>
<illustration width="256" height="152">
    <lineMode width="2" cap="square"/>
    <lines>
        16 40 116 40
        16 40 16 140

        156 40 256 40
        156 40 156 140
    </lines>
    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">Original</drawCentredString>

    <setFont name="Helvetica-Bold" size="50"/>
    <fill color="red"/>
    <drawString x="16" y="41">X</drawString>
    <translate dx="142"/>

    <setFont name="Times-Roman" size="12"/>
    <fill color="black"/>
    <drawCentredString x="58" y="12">alpha=10 beta=30</drawCentredString>

    
    <translate dy="42" dx="15"/>
    <fill color="gray"/>
    <setFont name="Times-Roman" size="8"/>
    <drawString x="55" y="2">alpha</drawString>
    <drawString x="5" y="50">beta</drawString>
    
    <setFont name="Helvetica-Bold" size="50"/>

    <fill color="red"/>
    <stroke color="black"/>
    <skew alpha="10" beta="30"/>
    <lineMode width="1" dash="5,4"/>
    <stroke color="lightgrey"/>
    <lines>
        0 0 0 50
        0 0 50 0
    </lines>
    <drawString x="0" y="0">X</drawString>
    
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: An example of the &lt;skew&gt; tag in use.
</para>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Transform
</h3>
<outlineAdd level="3">Transform</outlineAdd>
                                                                                   
<para>
A transform allows the coordinate space to be
filtered through a general two dimensional affine transform.  All
the other coordinate transformations can be defined in terms of
a transform.  A transform requires 6 numbers <i>a, b, c, d, e,</i> and <i>f</i> to
define the transformation.
</para>
<para style="figureCaption">
   x' = ax + cy + e
</para>
<para style="figureCaption">
   y' = bx + dy + f
</para>
<para>
For example to specify a=1, b=1.2, c=1.3, d=1.4, e=1.5 and f=1.6 write
</para>
<pre style="programListing">
<![CDATA[
<transform>1 1.2 1.3 1.4 1.5 1.6</transform>

]]></pre>

<spacer length="10"/>
<!-- <!ELEMENT transform  (#PCDATA )> -->

<para>[<b>NOTE</b>: All the examples from this section are gathered together in the file example_8.rml].</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Things to consider when doing <font face="Courier">transform</font>, 
<font face="Courier">scale</font>, 
<font face="Courier">rotate</font> and 
<font face="Courier">skew</font> operations.
</h3>

<para style="bulletList" bulletText="l">
It is very easy to move objects "off the page". If you are doing a <font face="Courier">&lt;translate&gt;</font> 
as a <font face="Courier">&lt;pageGraphic&gt;</font>, it is possible to put the origin off the visible area 
of the page. If you are doing a <font face="Courier">&lt;translate&gt;</font> 
in an <font face="Courier">&lt;illustration&gt;</font>, no checks are performed about whether an object is 
inside the limits of the <font face="Courier">&lt;illustration&gt;</font> or not, so it is still possible to 
put it outside the limits of the page and lose it. 
If you expect to see a diagram and all you get is a blank page, this is the most common cause.
</para>

<para style="bulletList" bulletText="l">
Scaling has its own version of the same problem. It is possible to <font face="Courier">&lt;scale&gt;</font> an object so 
that most or all of it is off the page, but it is also possible to <font face="Courier">&lt;scale&gt;</font> something to 
such a small size that it "shrinks to nothing". Be especially careful when doing scaling with large factors. Something 
that may have been a small error without the scaling may put your object off the page entirely once you 
have performed the <font face="Courier">&lt;scale&gt;</font>.
</para>

<para style="bulletList" bulletText="l">
The scaling operation scales everything - including line widths. If you are taking a huge diagram and 
scaling it down, the lines may be scaled out of existence. Conversely, if you take something microscopic 
and enlarge it, you may end up just getting a blob due to the width of the lines being scaled up as well.
</para>

<para style="bulletList" bulletText="l">
Another thing to remember is that these transformations are <i>incremental</i> - in a series of transforms,
each one will modify the output of the one before it. So the order you carry the operations out in is 
very important. The result of the sequence "<font face="Courier">translate, rotate, scale</font>" is very different to that of
"<font face="Courier">scale, rotate, translate</font>". 
</para>

<para style="bulletList" bulletText="l">
If performing multiple operations, use the order "<font face="Courier">translate -&gt; rotate >-&gt;> scale or skew</font>" 
whenever possible. Using a different order may result in the axes being distorted or other results that lead to an ugly 
output that isn't what you were trying to do.
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
&lt;image&gt; - using bitmapped images
</h3>
<outlineAdd level="3">image - using bitmapped images</outlineAdd>

<para>
RML also allows you to insert pre-existing images into your PDF files. If you have a graphic file in either the 
.gif or .jpg format, you can use the <font face="Courier">&lt;image&gt;</font> tag to insert it into your document. 
</para>

<para>
The <font face="Courier">&lt;image&gt;</font> tag goes in the <font face="Courier">&lt;pageGraphics&gt;</font> section at the 
head of your RML document. It has 5 attributes, 3 of which are mandatory and two of which are optional. The 
<font face="Courier">file</font> attribute tells rml2pdf the name of the input file that you want to incorporate 
into your document, the <font face="Courier">x</font> and <font face="Courier">y</font> attributes give the 
co-ordinates for the bottom left hand corner of where the image will be placed on the page. The optional 
<font face="Courier">width</font> and <font face="Courier">height</font> attributes allow you to specify 
how big it should be on the page - this means that you can over-ride the normal size of the file and display 
it at any size that is appropriate. (The <font face="Courier">x</font>, <font face="Courier">y</font>, 
<font face="Courier">width</font> and <font face="Courier">height</font> attributes can all be gives in 
points, mm, cm or inches).
</para>

<para>
Be very careful when using the <font face="Courier">width</font> and <font face="Courier">height</font> attributes. If 
misused, these attributes can lead to you having a distorted, ugly and out of proportion picture in your final document. 
Whenever possible, you should use a paint application (e.g. Paintshop Pro, Photoshop, Graphics Converter, GIMP)
to save the file at the correct size, and use the correct <font face="Courier">height</font> and 
<font face="Courier">width</font> attributes to the <font face="Courier">&lt;image&gt;</font> tag. Using larger 
files and re-sizing inside RML will also lead to the output PDF file being bloated and larger than it needs to be.
</para>

<para>
This example shows how these tags look in action:
</para>

<pre style="programListing">
<![CDATA[
    <pageGraphics>
            <image file="myFile.gif" x="72" y="72"/>
            <image file="myFile.gif" x="369" y="72" width="80" height="80"/>
            <image file="myFile2.jpg" x="72" y="493"/>
            <image file="myFile2.jpg" x="369" y="493" width="80" height="80"/>
    </pageGraphics>
]]>
</pre>
<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
place and illustration
</h3>
<outlineAdd level="3">place and illustration</outlineAdd>

<para><b>place</b></para>

<para>
We have seen how graphics and flowables do not mix in RML. The only exceptions 
to this are the <font face="Courier">&lt;place&gt;</font> tag, and the 
<font face="Courier">&lt;illustration&gt;</font> tag. <font face="Courier">&lt;place&gt;</font> 
allows you to put a flowable inside a <font face="Courier">pageGraphic</font> or 
<font face="Courier">illustration</font>. You can include a paragraph inside a 
<font face="Courier">grid</font>, or a table inside a <font face="Courier">path</font>.
</para>

<para>
<font face="Courier">&lt;place&gt;</font> takes 4 attributes, all of which are required. 
<font face="Courier">x</font>, and <font face="Courier">y</font> are the x and y 
co-ordinates for where you want the flowable placed. <font face="Courier">width</font> and 
<font face="Courier">height</font> are the width and height of the flowable.
</para>

<para>
Example:
</para>

<pre style="programListing">
<![CDATA[
    <pageGraphics>
        <place x="10.5cm" y="10.5cm" width="9cm" height="9cm">
            <para>Your flowables would go here.</para>
        </place>
    </pageGraphics>
]]>
</pre>
<spacer length="15"/>

<para><b>illustration</b></para>
<para>
You can think of an <font face="Courier">&lt;illustration&gt;</font> as like one of 
the illustrations in a book. It is a "box" of space on the page which can contain 
any of the graphics that you would normally expect to find in a 
<font face="Courier">&lt;pageGraphics&gt;</font> tag. The position of this box 
depends purely on its place in the story, which means that it can appear anywhere 
on the page depending on the paragraphs and other flowables around it. This is in 
contrast to the <font face="Courier">pageGraphics</font> which are always placed 
in a specific place (measured from the origin).
</para>

<para>
Example:
</para>

<pre style="programListing">
<![CDATA[
    <illustration width="90" height="90">
        <fill color="red"/>
        <circle x="45" y="45" radius="30" fill="yes"/>
        <setFont name="Times-Roman" size="8"/>
        <drawString x="0" y="0">
            Any graphics could go here.
        </drawString>
    </illustration>
]]>
</pre>
<spacer length="15"/>

<illustration width="345" height="333">
    <image file="images/Example_9b.gif" x="0" y="12"/>
    <setFont name="Times-Bold" size="8"/>
</illustration>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 9
</para>


<para>
Notice the symmetry: the <font face="Courier">&lt;place&gt;</font> tag lets you use flowables within a 
<font face="Courier">&lt;pageGraphic&gt;</font>; the <font face="Courier">&lt;illustration&gt;</font> 
tag lets you do graphics operations in a box within the flow of the <font face="Courier">&lt;story&gt;</font> 
(or any story-like context such as a table cell).
</para>

<para>
The following example shows the use of both <font face="Courier">place</font> and <font face="Courier">illustration</font>:
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 9

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_9.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>
        <grid xs="1cm,2cm,3cm,4cm,5cm,10cm,20cm" ys="1cm,2cm,3cm,4cm,5cm,10cm,20cm"/>
        <place x="10.5cm" y="10.5cm" width="9cm" height="9cm">
            <title>This is a use of <i>place</i></title>
            <spacer length="15"/>
            <para>
            This is a flowable. In this case, it is in a &lt;para&gt; 
            tag, but it could be any flowable. It has been placed 
            inside a grid, but you could put it inside any graphic or 
            pageGraphics. Using the place tag, you can have complete 
            control over where you want your flowables to appear. 
            </para>
            <spacer length="12"/>
            <para>
            You can include Greek: <greek>abgd</greek>.
            </para>
            <spacer length="12"/>
            <blockTable>
            <tr>
                <td>Or</td><td>even</td>
            </tr>
            <tr>
                <td>a</td><td>blockTable.</td>
            </tr>
            </blockTable>
        </place>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
    <paraStyle name="style.Title"
    fontName="Courier-Bold"
    fontSize="24"
    leading="36"
    />
</stylesheet>

<!-- The story starts below this comment -->

<story>
    <title>Example 9</title>
    <para>
    This is a page which shows you how illustrations, grids and the place tag work.
    </para>
    <illustration width="90" height="90">
        <fill color="red"/>
        <circle x="45" y="45" radius="30" fill="yes"/>
        <setFont name="Times-Roman" size="8"/>
        <drawString x="0" y="0">This is an illustration</drawString>
    </illustration>
    <para>
    The red circle you can see is an <i>illustration</i>, not a <i>pageGraphic</i>.
    </para>
    <illustration width="75" height="75">
        <fill color="teal"/>
        <circle x="30" y="30" radius="30" fill="yes"/>
        <stroke color="darkslategray"/>
        <grid xs="15,30,45" ys="5,10,15,20,25,30,35,40,45,50"/>
    </illustration>
    <para>
    So is the teal colored one.
    </para>
    <para>
    These are all flowables in the story.
    </para>

</story>

</document>

]]>
</pre>
<spacer length="15"/>


<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Spacer
</h3>
<outlineAdd level="3">Spacer</outlineAdd>

<para>
<font face="Courier">&lt;spacer&gt;</font> is another tag which does just what the name suggests. A 
<font face="Courier">&lt;spacer&gt;</font> inserts an empty element into the page 
to force other elements downwards or sideways. The <font face="Courier">spacer</font> tag has two 
attributes - <font face="Courier">length</font> is mandatory and refers to the length down the page, 
and <font face="Courier">width</font> is optional.
</para>
<para>
Example:
</para>
<para>
To produce a spacer 15 points in height and one inch wide, you could do the following:
</para>

<pre style="programListing">
<![CDATA[
<spacer length="15" width="72"/>
]]>
</pre>

<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Form and doForm
</h3>
<outlineAdd level="3">Form and doForm</outlineAdd>

<para>
A <font face="Courier">&lt;form&gt;</font> is a group of graphical operations, 
stored together and given a name. This allows you to group complex graphics 
together and to re-use them in more than one place with ease. 
To do this, you would use the <font face="Courier">doForm</font> tag.
</para>
<para>
Your form would appear in the <font face="Courier">pageGraphics</font> section of your RML 
document (inside the <font face="Courier">pageTemplate</font>).
<font face="Courier">&lt;doForm&gt;</font> also appears in the 
<font face="Courier">pageGraphics</font> section.
</para>
<para>
The <font face="Courier">&lt;form&gt;</font> tag has one attribute - a mandatory one called 
<font face="Courier">name</font> which identifies the form.
</para>
<para>
The <font face="Courier">&lt;doForm&gt;</font> tag executes the sequence of graphical operations 
defined with a <font face="Courier">&lt;form&gt;</font> tag.
It also has only one mandatory attribute called <font face="Courier">name</font>.
</para>

<para>
Example:
</para>

<pre style="programListing">
<![CDATA[
<pageGraphics>
    <form name="myForm">
    <drawString x="0" y="24">
        Your graphic operations would go here.
    </drawString>
    <drawString x="0" y="12">
        There would probably be a lot of them to make up something useful.
    </drawString>
    </form>
    <doForm name="myForm"/>
<pageGraphics>
]]>
</pre>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Why use forms?
</h3>
<outlineAdd level="3">Why use forms?</outlineAdd>

<para>
Why use <font face="Courier">form</font>s when you can just cut and paste big chunks of text inside your RML document 
with your favorite text editor or word processor? 
</para>
<para>
The benefits are dramatically cut file sizes, reduced production time and apparently even speeding things up on the printer.
If you are going to be using PDF files in any situation where people will be downloading them, massively reduced file sizes will 
be appreciated by your users. These advantages become even more obvious with multiple similar documents. If you are dealing 
with a run of 5000 repetitive forms - perhaps payslips or single-page invoices - you only need to store the backdrop once 
and simply draw the changing text on each page. 
</para>
<para>
<font face="Courier">form</font>s should be used whenever you have a graphic that is used repeatedly. It may be 
something as small as your company logo or some sort of symbol you want to flag interesting bits of text with, 
or something as large as a whole page backdrop. As long as you use it repeatedly, it's worth using a 
<font face="Courier">form</font> to do it.
</para>
<para>
<font face="Courier">form</font>s don't even have to be created in RML. You can use another application 
(such as Adobe Illustrator or Word) and distil the output to PDF. You can then
use our PageCatcher product to generate the forms, which can then be used
from RML.
</para>
<para>
Look on our web site for more information on PageCatcher: 
<font color="blue">http://www.reportlab.com/pageCatcher/index.html</font>
</para>



<nextFrame/>

<condPageBreak height="144"/><h1>Part III - Tables</h1>
<outlineAdd level="1">Part III-Tables</outlineAdd>

<condPageBreak height="144"/>
<h2>
<name id="chapterNumber" value="10"/>
<getName id="chapterNumber"/>
<seqReset id="sectionNumber"/>. 
Using tables
</h2>
<outlineAdd level="2">Using tables</outlineAdd>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
BlockTable
</h3>
<outlineAdd level="3">BlockTable</outlineAdd>

<para>
If you are familiar with HTML, you will understand the basic tags for use with tables in RML. 
Just as in HTML, you use a tag to tell rml2pdf that a table is on the way 
(in this case <font face="Courier">&lt;blockTable&gt;</font>; rather than &lt;table&gt;), and another one to end it. 
Within the <font face="Courier">&lt;blockTable&gt;</font> and <font face="Courier">&lt;/blockTable&gt;</font> 
tags, <font face="Courier">&lt;tr&gt;</font> and <font face="Courier">&lt;/tr&gt;</font> enclose the
rows (from <b>T</b>able <b>R</b>ow); and within each table row, <font face="Courier">&lt;td&gt;</font> 
and <font face="Courier">&lt;/td&gt;</font> enclose each individual cell (from <b>T</b>able <b>D</b>ata).
</para>

<para>
So, the simplest <font face="Courier">blockTable</font> in RML will look something like this:</para>

<pre style="programListing">
<![CDATA[

<blockTable>
    <tr>
        <td>This</td><td>is</td>
    </tr>
    <tr>
        <td>a</td><td>blockTable.</td>
    </tr>
</blockTable>

]]>
</pre>
<spacer length="15"/>
<para>This produces a table that looks like this:</para>

<spacer length="15"/>

<blockTable>
    <tr>
        <td>This</td><td>is</td>
    </tr>
    <tr>
        <td>a</td><td>blockTable.</td>
    </tr>
</blockTable>

<spacer length="15"/>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: A very simple blockTable
</para>

<para>
In this short example, we are just using plain old vanilla text in the 
table cells. But we can do more. <font face="Courier">&lt;blocktable&gt;</font> 
allows you to use paragraphs and the <font face="Courier">&lt;para&gt;</font> 
tag. This means that you can use bold, italics, colors, fonts, greek... 
anything you can use in a paragraph. And you can use multiple paragraphs 
inside a table cell.
</para>

 <blockTable
    rowHeights="1.25cm,1.25cm"
    colWidths="4cm,4cm"
    >
    <tr>
        <td>
            <para>This is a <b>more</b> complex <font color="red">blockTable</font>.</para> 
        </td>
        <td>
            <para>This is a more <i>complex</i> blockTable.</para>
        </td>
    </tr>
    <tr>
        <td>
            <para><font face="Helvetica">This is a more complex blockTable.</font></para>
        </td>
        <td>
            <para>This is <greek>a</greek> more <font color="blue"><i>complex</i></font> blockTa<greek>b</greek>le.</para>
        </td>
    </tr>
</blockTable>

<para style="figureCaption">
    Figure <seq id="figureNumber"/>: A slightly more complex blockTable
</para>

<para>
The main thing that makes this slightly more complex than a very 
simple table is the fact that you must give <font face="Courier">rowHeights</font> 
and <font face="Courier">colWidths</font> to the <font face="Courier">&lt;blockTable&gt;</font> 
to use <font face="Courier">para</font>s. This makes sense - paragraphs fit into 
the available space on a page. In a table, they must fit into the available 
space in that cell. If you haven't defined how high and wide that cell 
will be, then there is no way for rml2pdf to know how to make it flow 
in that cell. (If you get an error message saying "Flowables cell can't 
have auto width", then this is the thing to check - you have probably
omitted the <font face="Courier">rowHeights</font> or 
<font face="Courier">colWidths</font>).
</para>
<para>
When you are using paragraphs inside a table,
you must not put any text outside the <font face="Courier">&lt;para&gt;...&lt;/para&gt;</font> 
tags. The only exception to this rule is whitespace - you can put spaces and tabs outside the 
<font face="Courier">&lt;para&gt;</font> tag, but nothing else.
</para>
<para>
One other thing to be aware of is that if you use a <font face="Courier">para</font> 
inside a table, it will ignore the text attributes you have used for that table and instead 
use the attributes for paragraphs. This can be a plus, (since it allows you to use
already defined paragraph styles) but can take you by surprise if weren't 
expecting it.
</para>

<para>
As an example, here is the RML that generated the above table:
</para>

<pre style="programListing">
<![CDATA[
 <blockTable
    rowHeights="1.25cm,1.25cm"
    colWidths="4cm,4cm"
    >
    <tr>
        <td>
            <para>
                This is a <b>more</b> complex <font color="red">blocktable</font>.
            </para> 
        </td>
        <td>
            <para>
                This is a more <i>complex</i> blocktable.
             </para>
        </td>
    </tr>
    <tr>
        <td>
            <para>
                <font face="Helvetica">This is a more complex blockTable.</font>
            </para>
        </td>
        <td>
            <para>
                This is <greek>a</greek> more <font color="blue"><i>complex</i></font> 
                blockta<greek>b</greek>le.
            </para>
        </td>
    </tr>
</blockTable>
]]>
</pre>
<spacer length="15"/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using blockTable's optional attributes
</h3>
<outlineAdd level="3">Using blockTable's optional attributes</outlineAdd>

<para>
This is useful, but there's a lot more to <font face="Courier">blockTable</font>s 
than that! The actual <font face="Courier">&lt;blockTable&gt;</font> tag can have 
a number of optional attributes:
</para>

<para style="bulletNospace" bulletText="l">
<i>style</i>
</para>
<para style="bulletList" bulletText="">
<font face="Courier">blockTables</font> can have a style set in the stylesheet in the same way as paragraphs can. If 
you have set a style for your <font face="Courier">blockTable</font>, you can refer to it by name with this attribute 
and apply it to your table. (More details on how to do it appear in the section on the 
<font face="Courier">&lt;blockTableStyle&gt;</font> tag below).
</para>

<para style="bulletNospace" bulletText="l">
<i>colWidths</i>
</para>
<para style="bulletList" bulletText="">
If you use this attribute, it takes a comma-separated list of the width of each column in your 
<font face="Courier">blockTable</font>. 
This allows you to vary the widths to match the width of the content of each column. If you do use it, 
you should be careful to make sure that there is one width given for <i>every</i> column in your table.
</para>

<para style="bulletNospace" bulletText="l">
<i>rowHeights</i>
</para>
<para style="bulletList" bulletText="">
As colWidths is to columns, rowHeights is to rows. It also takes a comma-separated list, in this case 
for the heights of the rows in your table.
</para>

<!-- Can't get this one to work... -->
<!--
<para style="bulletNospace" bulletText="l">
<i>splitByRow</i>
</para>
<para style="bulletList" bulletText="">

</para>
-->

<para style="bulletNospace" bulletText="l">
<i>repeatRows</i>
</para>
<para style="bulletList" bulletText="">
If you have a large table that splits over multiple pages, you may well want certain information appearing on all of them. 
Column headers are one example of this sort of information. The <font face="Courier">repeatRows</font> 
attribute allows you to do this.
</para>
<para style="bulletList" bulletText="">
<font face="Courier">repeatRows</font> takes one single number as an argument. All the rows up to and including 
this row are repeated as "headers" on each section of the table that appears on a new page.
</para>



<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
BlockTableStyle
</h3>
<outlineAdd level="3">BlockTableStyle</outlineAdd>

<para>
<font face="Courier">blockTables</font> are a flowable, so the actual <font face="Courier">&lt;blockTable&gt;</font> 
tag will appear in the story section of your RML document. You can use the <font face="Courier">&lt;blockTableStyle&gt;</font> 
tag to set the appearance of your <font face="Courier">blockTable</font>. This appears in the stylesheet section 
of your document, and can be used for more than one table. You can set up how all the 
<font face="Courier">blockTable</font>s in your document will look in one 
<font face="Courier">blockTableStyle</font> tag if you want.
</para>
<para>
The <font face="Courier">&lt;blockTableStyle&gt;</font> tag is a container for a number of other tags, and needs 
to be paired with a terminal <font face="Courier">&lt;/blockTableStyle&gt;</font> tag. This works in the same way as 
<font face="Courier">&lt;styleSheet&gt;&lt;/styleSheet&gt;</font>, 
<font face="Courier">&lt;pageGraphics&gt;&lt;/pageGraphics&gt;</font>, and other
tags of that sort.
</para>
<para>
For all of the attributes in <font face="Courier">blockTableStyle</font>, they refer to a square or rectangular 
"block" inside the table. This can be as many or as few cells as you want - not necessarily a single cell. 
This "block" aspect to the attributes is reflected in their names, and gave the table style its name for 
consistency. (It was felt that since most of these attributes started with "block...", the table tag should itself 
be called <font face="Courier">blockTable</font> to keep things simple).
</para>
<para>
The way the block is described may seem unusual to you if you are not used to programming. The x and y co-ordinates 
are still given as X,Y (or if you like "Row,Column", rather than the spreadsheet "A1" model), but the numbering starts 
from 0 rather than 1. This makes the top left-hand cell (0,0). As well as this, the numbers may also be negative. If this 
is the case, then rml2pdf will count <i>backwards</i> from the end of the last cell. So (-1,-1) is the bottom right hand 
cell in a table, (-2,-2) is the one up and to the left of that, and so on.
</para>

<para>
The tags that <font face="Courier">blockTableStyle</font> can contain are:
</para>

<para style="bulletNospace" bulletText="l">
<i>blockFont</i>
</para>
<para style="bulletNospace" bulletText="">
<font face="Courier">blockfont</font> sets the font to be used in a block of your table. 
</para>
<para style="bulletNospace" bulletText="">
It has one mandatory attribute: <font face="Courier">name</font>.
</para>
<para style="bulletList" bulletText="">
It has four optional attributes: 
<font face="Courier">size</font>, 
<font face="Courier">leading</font>, 
<font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockTextColor</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the color that will be used for the text in a block of your table.
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">colorName</font>. 
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> 
and <font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockLeading</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the leading that will be used for the text in a block of your table. 
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">length</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockAlignment</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the alignment of the text in a block of your table.
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">value</font>. 
(This can be 
<font face="Courier">LEFT</font>, 
<font face="Courier">RIGHT</font>, 
<font face="Courier">CENTER</font>, or 
<font face="Courier">CENTRE</font>).
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and <font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockValign</i>
</para>
<para style="bulletNospace" bulletText="">
This sets how the contents of a block of cells in your table are aligned in the vertical direction.
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">value</font>. 
(This can be 
<font face="Courier">TOP</font>, 
<font face="Courier">MIDDLE</font>, or 
<font face="Courier">BOTTOM</font>, and defaults to 
<font face="Courier">BOTTOM</font>).
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>


<para style="bulletNospace" bulletText="l">
<i>blockLeftPadding</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the padding (i.e. blank space) between the contents of a cell and left-hand edge of the cell 
(for a block of cells in your table).
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">length</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> 
and <font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockRightPadding</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the padding between the contents of a cell and right-hand edge of the cell 
(for a block of cells in your table).
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">length</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockBottomPadding</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the padding between the contents of a cell and bottom edge of the cell (for a block of cells).
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">length</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and <font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockTopPadding</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the padding between the contents of a cell and top edge of the cell (for a block of cells).
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">length</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>blockBackground</i>
</para>
<para style="bulletNospace" bulletText="">
This sets the color to be used for the background for a block of cells in your table.
</para>
<para style="bulletNospace" bulletText="">
It has one required attribute: <font face="Courier">colorName</font>.
</para>
<para style="bulletList" bulletText="">
It has two optional attributes: <font face="Courier">start</font> and 
<font face="Courier">stop</font>.
</para>

<para style="bulletNospace" bulletText="l">
<i>lineStyle</i>
</para>
<para style="bulletNospace" bulletText="">
This allows you to use lines to border your table.
</para>
<para style="bulletNospace" bulletText="">
It has two required attributes: 
<font face="Courier">kind</font> (with the options of 
<font face="Courier">GRID</font>, 
<font face="Courier">BOX</font>, 
<font face="Courier">OUTLINE</font>, 
<font face="Courier">INNERGRID</font>, 
<font face="Courier">LINEBELOW</font>, 
<font face="Courier">LINEABOVE</font>, 
<font face="Courier">LINEBEFORE</font> and 
<font face="Courier">LINEAFTER</font>), and
<font face="Courier">colorName</font> (which must be the name of a color).

</para>
<para style="bulletList" bulletText="">
It has three optional attributes: <font face="Courier">thickness</font>, 
<font face="Courier">start</font> and <font face="Courier">stop</font>.
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
A couple of cautions about blockTables
</h3>
<outlineAdd level="3">A couple of cautions about blockTables</outlineAdd>

<para>
A few final things to be aware about when using tables: in RML <getName id="RMLVersionNumber"/>, 
table cells (as contained by the <font face="Courier">&lt;td&gt;</font> and 
<font face="Courier">&lt;/td&gt;</font> tags) can only contain one of two different sets of 
data. Either a table cell can contain string forms (text and the 
<font face="Courier">&lt;getName&gt;</font> and <font face="Courier">&lt;pageNumber&gt;</font> tags) 
<i>or</i> it can contain a sequence of flowables (tags such as <font face="Courier">&lt;pre&gt;</font>, 
<font face="Courier">&lt;para&gt;</font> and the various heading tags). It is <i>not</i> possible 
to mix both of these forms in the same cell (though you can mix them in the same table).
</para>

<para>
Putting strings into table cells is quicker than using paragraphs. 
Paragraphs need to work out when to 'wrap' text, strings don't. So you 
should avoid using paragraphs inside tables unless you really need to
(or you don't mind things slowing down).
</para>

<para>
When you are doing a big database report, wherever possible use 
separate smaller tables to contain parts of your data rather than one 
huge table. If you don't use many 'mini-tables' to contain small 
groups of rows but instead decide to do a big 1,000-row table, you 
will notice a significant loss of speed in the generation of your
output PDF.
</para>
 
<para>
This also makes it much easier to design complex grouped reports;
for each group header, footer or detail block you can design
one table style and keep them all independent of each other.
</para>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Using blockTableStyle
</h3>
<outlineAdd level="3">Using blockTableStyle</outlineAdd>

<para>
Now that we have seen what the <font face="Courier">blockTable</font>'s attributes are, and seen a 
summary of <font face="Courier">&lt;blockTableStyle&gt;</font>, 
here are some examples that show you how they can be used together.
</para> 
<para>
The following few pages show a number of examples of <font face="Courier">blockTable</font>s. 
Each one shows a page with the RML listing, followed by a separate page with the result of 
that table. Each listing contains comments to point out what each tag involved with the 
<font face="Courier">blockTable</font> is doing.
</para>

<nextFrame/>

<condPageBreak height="144"/>
<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 10 - Colors and fonts in tables
</h3>

<para>
This example show various ways of setting the text color (<font face="Courier">blockTextColor</font>), 
font (<font face="Courier">blockFont</font>) and background color (<font face="Courier">blockBackground</font>) 
for regions in a <font face="Courier">blockTable</font>. 
</para>

<para>
Notice the various ways of specifying a region within the table. Also notice the way we have defined heights 
for the rows and widths for the columns in the blocktable tag.
</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 10

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "../rml_1_0.dtd"> 
<document filename="example_10.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>

    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
    <blockTableStyle id="myBlockTableStyle">
        <!-- This sets a font for every cell from the start of the -->
        <!-- second row down to the bottom right hand corner       -->
        <blockFont name="Courier-Bold" start="0,1" stop="-1,-1"/>
        <!-- This sets a font for the first row  -->
        <blockFont name="Helvetica-BoldOblique" size="24" start="0,0" stop="3,0"/>

        <!-- This sets a textColor for all the text in the table -->
        <blockTextColor colorName="black"/>

        <!-- This sets a textColor for the first row  -->
        <!-- (Since it comes after the above setting, -->
        <!-- it overides it for this row) -->
        <blockTextColor colorName="white" start="0,0" stop="3,0"/>

        <!-- This sets a textColor a column - also overiding  -->
        <!-- the first textColor setting for this row         -->
        <blockTextColor colorName="blue" start="1,1" stop="1,6"/>

        <!-- This sets a background color for the first row  -->
        <blockBackground colorName="red" start="0,0" stop="3,0"/>

        <!-- This sets a background color for the rest of the table -->
        <blockBackground colorName="cornsilk" start="0,1" stop="-1,-1"/>

        <!-- This sets a background color for an individual cell     -->
        <!-- This has to go AFTER the above blockBackground,         -->
        <!-- otherwise it would be overpainted by the cornsilk color -->          
        <blockBackground colorName="lightcoral" start="3,3" stop="3,3"/>
        
    </blockTableStyle>
</stylesheet>

<story>
    <title>Example 10 - colors and fonts in tables</title>
    <spacer length="1cm"/>

    <blockTable style="myBlockTableStyle"
    rowHeights="3.5cm,2cm,2cm,2cm,2cm,2cm,2cm"
    colWidths="4cm,4cm,4cm,4cm"
    >
    <tr><td>Cell 0,0</td><td>Cell 1,0</td><td>Cell 2,0</td><td>Cell 3,0</td></tr>
    <tr><td>Cell 0,1</td><td>Cell 1,1</td><td>Cell 2,1</td><td>Cell 3,1</td></tr>
    <tr><td>Cell 0,2</td><td>Cell 1,2</td><td>Cell 2,2</td><td>Cell 3,2</td></tr>
    <tr><td>Cell 0,3</td><td>Cell 1,3</td><td>Cell 2,3</td><td>Cell 3,3</td></tr>
    <tr><td>Cell 0,4</td><td>Cell 1,4</td><td>Cell 2,4</td><td>Cell 3,4</td></tr>
    <tr><td>Cell 0,5</td><td>Cell 1,5</td><td>Cell 2,5</td><td>Cell 3,5</td></tr>
    <tr><td>Cell 0,6</td><td>Cell 1,6</td><td>Cell 2,6</td><td>Cell 3,6</td></tr>
    </blockTable>
</story>

</document>
]]>
</pre>

<nextFrame/>

    <condPageBreak height="144"/>
	<h2>Example 10 - colors and fonts in tables</h2>
    <spacer length="1cm"/>

    <blockTable style="myBlockTableStyle1"
    rowHeights="3.5cm,2cm,2cm,2cm,2cm,2cm,2cm"
    colWidths="4cm,4cm,4cm,4cm"
    >
    <tr><td>Cell 0,0</td><td>Cell 1,0</td><td>Cell 2,0</td><td>Cell 3,0</td></tr>
    <tr><td>Cell 0,1</td><td>Cell 1,1</td><td>Cell 2,1</td><td>Cell 3,1</td></tr>
    <tr><td>Cell 0,2</td><td>Cell 1,2</td><td>Cell 2,2</td><td>Cell 3,2</td></tr>
    <tr><td>Cell 0,3</td><td>Cell 1,3</td><td>Cell 2,3</td><td>Cell 3,3</td></tr>
    <tr><td>Cell 0,4</td><td>Cell 1,4</td><td>Cell 2,4</td><td>Cell 3,4</td></tr>
    <tr><td>Cell 0,5</td><td>Cell 1,5</td><td>Cell 2,5</td><td>Cell 3,5</td></tr>
    <tr><td>Cell 0,6</td><td>Cell 1,6</td><td>Cell 2,6</td><td>Cell 3,6</td></tr>
    </blockTable>

    <spacer length="15"/>
    <para style="figureCaption">
        Figure <seq id="figureNumber"/>: Output table from EXAMPLE 10
    </para>
    
<nextFrame/>

<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 11 - lines and alignment in tables
</h3>

<para>
This example shows the various vertical and horizontal alignments you can give text in a 
table, as well as a few ways to use lines. 
</para>

<!--<pre>-->
<pre style="programListing">
<![CDATA[
EXAMPLE 11

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "../rml_1_0.dtd"> 
<document filename="example_11.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>

    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
    <blockTableStyle id="myBlockTableStyle">
        <!-- Set fonts -->
        <blockFont name="Courier-Bold" size="10" start="0,1" stop="-1,-1"/>
        <blockFont name="Helvetica-BoldOblique" size="10" start="0,0" stop="3,0"/>

        <!-- This sets a textColor for all the text in the table -->
        <blockTextColor colorName="black"/>

        <!-- Another example of blockTextColor  -->
        <blockTextColor colorName="green" start="2,2" stop="3,3"/>
        
        <!-- This sets a blockAlignment for the whole table  -->
        <blockAlignment value="CENTER"/>

        <!-- These overrides the above  -->
        <blockAlignment value="RIGHT" start="3,0" stop="3,-1"/>
        <blockAlignment value="LEFT" start="0,1" stop="0,-1"/>
        
        <!-- This sets the vertical alignment for one row  -->
        <blockValign value="TOP" start="0,0" stop="-1,0"/>

        <!-- This sets the vertical alignment for one cell  -->
        <blockValign value="MIDDLE" start="2,2" stop="2,2"/>
        
        <!-- Use of linestyles  -->
        <lineStyle kind="GRID" colorName="silver"/>
        <lineStyle kind="LINEBELOW" colorName="orangered" start="0,0"
            stop="-1,0" thickness="5"/>
        <lineStyle kind="LINEAFTER" colorName="maroon" start="1,1"
            stop="1,6" thickness="1"/>

    </blockTableStyle>
</stylesheet>

<story>
    <title>Example 11 - lines and alignment in tables</title>
    <spacer length="1cm"/>

    <blockTable style="myBlockTableStyle"
    rowHeights="2cm,2cm,2cm,2cm,2cm,2cm,2cm"
    colWidths="4cm,3cm,3cm,4cm"
    >
    <tr>
        <td>(a=LEFT)(VA=TOP)</td>
        <td>(VA=TOP)</td>
        <td>(VA="TOP")</td>
        <td>(a=RIGHT)(VA=TOP)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,1</td>
        <td>Cell 2,1</td>
        <td>(a=RIGHT)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,2</td>
        <td>(VA=MIDDLE)</td>
        <td>(a=RIGHT)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,3</td>
        <td>(VA=MIDDLE)</td>
        <td>(VA=MDL)(a=RIGHT)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,4</td>
        <td>2,4</td>
        <td>(a=RIGHT)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,5</td>
        <td>2,5</td>
        <td>(a=RIGHT)</td>
    </tr>
    <tr>
        <td>(a=LEFT)</td>
        <td>1,6</td>
        <td>2,6</td>
        <td>(a=RIGHT)</td>
    </tr>
    </blockTable>

<spacer length="15"/>
<para>a=value for <i>blockAlignment</i></para>    
<para>VA=value for <i>blockValign</i></para>  
<para><i>MDLE=MIDDLE for VA in cells 3,2 and 3,3</i></para>
    
</story>

</document>
]]>
</pre>
<nextFrame/>

	<h2>Example 11 - lines and alignment in tables</h2>
    <spacer length="1cm"/>

    <blockTable style="myBlockTableStyle2"
    rowHeights="2cm,2cm,2cm,2cm,2cm,2cm,2cm"
    colWidths="4cm,3cm,3cm,4cm"
    >
    <tr><td>(a=LEFT)(VA=TOP)</td><td>(VA=TOP)</td><td>(VA="TOP")</td><td>(a=RIGHT)(VA=TOP)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,1</td><td>Cell 2,1</td><td>(a=RIGHT)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,2</td><td>(VA=MIDDLE)</td><td>(VA=MDL)(a=RIGHT)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,3</td><td>(VA=MIDDLE)</td><td>(VA=MDL)(a=RIGHT)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,4</td><td>2,4</td><td>(a=RIGHT)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,5</td><td>2,5</td><td>(a=RIGHT)</td></tr>
    <tr><td>(a=LEFT)</td><td>1,6</td><td>2,6</td><td>(a=RIGHT)</td></tr>
    </blockTable>

    <spacer length="15"/>
    <para style="figureCaption">
        Figure <seq id="figureNumber"/>: Output table from EXAMPLE 11
    </para>

<spacer length="15"/>
<para>a=value for <i>blockAlignment</i></para>    
<para>VA=value for <i>blockValign</i></para>
<para><i>MDLE=MIDDLE for VA in cells 3,2 and 3,3</i></para>


<nextFrame/>

<h3>
<getName id="chapterNumber"/>.<seq id="sectionNumber"/>
Example 12 - images and padding in tables
</h3>

<para>This example shows images in a table and the way to use the various padding attributes.</para>
<para style="nospace"><b>For comparison purposes:</b></para>
<para style="nospace">The cells that contain pictures in this table are all 166 pixels in height and 161 pixels in width.</para>
<para>Where padding is used, it has a value of 20 pixels horizontally or 40 pixels vertically.</para>

<pre style="programListing">
<![CDATA[
EXAMPLE 12

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd"> 
<document filename="example_12.pdf"> 

<template>
    <pageTemplate id="main">
    <pageGraphics>
    </pageGraphics>
    <frame id="first" x1="72" y1="72" width="451" height="698"/> 
    </pageTemplate>
</template>

<stylesheet>
    <blockTableStyle id="myBlockTableStyle">
        <blockBackground colorName="silver" start="0,0" stop="-1,0"/>
        <blockBackground colorName="darkslategray" start="0,1" stop="-1,1"/>
        <blockBackground colorName="silver" start="0,2" stop="-1,2"/>
        <blockBackground colorName="darkslategray" start="0,3" stop="-1,3"/>
        <blockBackground colorName="silver" start="0,4" stop="-1,4"/>
        <blockBackground colorName="darkslategray" start="0,5" stop="-1,5"/>
        <blockAlignment value="CENTER"/>
        <blockValign value="MIDDLE"/>
        
        <!-- Set fonts -->
        <blockFont name="Helvetica-BoldOblique" size="10"/>

        <!-- set the left and right padding for cells in first and third columns -->
        <!-- remember, cell numbering starts from ZERO, not ONE                   -->
        <blockLeftPadding length="20" start="0,0" stop="0,-1"/>
        <blockRightPadding length="20" start="2,0" stop="2,-1"/>

        <!-- set the top and bottom padding for cells in first and third rows -->
        <blockBottomPadding length="40" start="0,0" stop="-1,0"/>
        <blockTopPadding length="40" start="0,2" stop="-1,2"/>

        <!-- set the top and bottom padding for the last row -->
        <blockBottomPadding length="40" start="-1,4" stop="-1,4"/>
        <blockTopPadding length="40" start="0,4" stop="0,4"/>

        <!-- Use of linestyles  -->
        <lineStyle kind="GRID" colorName="darkblue"/>

    </blockTableStyle>

    <paraStyle name="paddingTableStyle"
        fontName="Helvetica-BoldOblique"
        fontSize="10"
        textColor="white"
        alignment="CENTER"
        />
</stylesheet>

<story>
    <title>Example 12 - images and padding in tables</title>
    <spacer length="1cm"/>

    <blockTable style="myBlockTableStyle"
    rowHeights="166,28,166,28,166,28"
    colWidths="161,161,161"
    >
    <tr>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
    </tr>
    <tr>
            <td>
            <para style="paddingTableStyle">
                <b>blockLeftPadding</b> with <b>blockBottomPadding
            </para>
            </td>
            <td>
            <para style="paddingTableStyle">
                just blockBottomPadding
            </para>
            </td>
            <td>
            <para style="paddingTableStyle">
                <b>blockRightPadding</b> with <b>blockBottomPadding</b>
            </para>
            </td>
        </tr>
        <tr>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
        </tr>
        <tr>
            <td>
            <para style="paddingTableStyle">
                <b>blockLeftPadding</b> with <b>blockTopPadding
            </para>
            </td>
            </td>
            <td>
            <para style="paddingTableStyle">
                just blockTopPadding
            </para>
            </td>
            <td>
            <para style="paddingTableStyle">
                <b>blockRightPadding</b> with <b>blockTopPadding</b>
            </para>
            </td>
        </tr>
        <tr>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
            <td><illustration width="141" height="90">
                    <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
                    <stroke color="deepskyblue"/>
                    <lineMode width="3"/>
                    <lines>
                    0 0 141 0
                    141 0 141 90
                    141 90 0 90
                    0 90 0 0
                    </lines>
                </illustration>
            </td>
        </tr>
        <tr>
            <td>
            <para style="paddingTableStyle">
                blockLeftPadding with blockTopPadding
            </para>
            </td>
            <td>
            <para style="paddingTableStyle">
                no padding
            </para>
            </td>
            <td>
            <para style="paddingTableStyle">
                blockRightPadding with blockBottomPadding
            </para>
            </td>
        </tr>
    </blockTable>

</story>

</document>
]]>
</pre>

<nextFrame/>

<h2>Example 12 - images and padding in tables</h2>
<spacer length="1cm"/>

	<blockTable style="myBlockTableStyle3"
	rowHeights="166,28,166,28,166,28"
	colWidths="161,161,161"
	>
	<tr>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
    </tr>
	<tr>
			<td>
			<para style="paddingTableStyle"><b>blockLeftPadding</b> with <b>blockBottomPadding</b></para>
			</td>
			<td><para style="paddingTableStyle">just blockBottomPadding</para></td>
			<td><para style="paddingTableStyle"><b>blockRightPadding</b> with <b>blockBottomPadding</b></para></td>
        </tr>
        <tr>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
            </td>
        </tr>
        <tr>
            <td><para style="paddingTableStyle"><b>blockLeftPadding</b> with <b>blockTopPadding</b></para>
            </td>
            <td><para style="paddingTableStyle">just blockTopPadding</para></td>
            <td><para style="paddingTableStyle"><b>blockRightPadding</b> with <b>blockTopPadding</b></para></td>
        </tr>
        <tr>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
			<td><illustration width="141" height="90">
	                <image file="images/replogo.gif" x="0" y="0" width="141" height="90"/>
	                <stroke color="deepskyblue"/>
	                <lineMode width="3"/>
	                <lines>
	                0 0 141 0
	                141 0 141 90
	                141 90 0 90
	                0 90 0 0
	                </lines>
	            </illustration>
			</td>
        </tr>
        <tr>
            <td><para style="paddingTableStyle">blockLeftPadding with blockTopPadding</para></td>
            <td><para style="paddingTableStyle">no padding</para></td>
            <td><para style="paddingTableStyle">blockRightPadding with blockBottomPadding</para></td>
        </tr>
    </blockTable>

<spacer length="15"/>
<para style="figureCaption">
    Figure <seq id="figureNumber"/>: Output from EXAMPLE 12
</para>

<nextFrame/>

<h1>
Appendix A - Colors recognized by RML
</h1>
<outlineAdd level="1">Appendix A - Colors recognized by RML</outlineAdd>

<para>
<font size="8">
In this table, the "Color" column gives the name of the color, as recognised in the HTML standard and RML. 
The hexadecimal number in the "Hex Value" column corresponds to the red, green and blue 
(RGB) components in the color - the first two digits represent red, the next two green and 
the last two the blue. (The "0x" just shows it's a hexadecimal number).
</font>
</para>

<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">aliceblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF0F8FF</drawString>
<fill color="aliceblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="aliceblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">antiquewhite</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFAEBD7</drawString>
<fill color="antiquewhite"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="antiquewhite"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">aqua</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00FFFF</drawString>
<fill color="aqua"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="aqua"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">aquamarine</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x7FFFD4</drawString>
<fill color="aquamarine"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="aquamarine"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">azure</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF0FFFF</drawString>
<fill color="azure"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="azure"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">beige</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF5F5DC</drawString>
<fill color="beige"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="beige"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">bisque</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFE4C4</drawString>
<fill color="bisque"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="bisque"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">black</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x000000</drawString>
<fill color="black"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="black"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">blanchedalmond</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFEBCD</drawString>
<fill color="blanchedalmond"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="blanchedalmond"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">blue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x0000FF</drawString>
<fill color="blue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="blue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">blueviolet</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x8A2BE2</drawString>
<fill color="blueviolet"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="blueviolet"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">brown</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xA52A2A</drawString>
<fill color="brown"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="brown"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">burlywood</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDEB887</drawString>
<fill color="burlywood"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="burlywood"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">cadetblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x5F9EA0</drawString>
<fill color="cadetblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="cadetblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">chartreuse</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x7FFF00</drawString>
<fill color="chartreuse"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="chartreuse"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">chocolate</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xD2691E</drawString>
<fill color="chocolate"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="chocolate"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">coral</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF7F50</drawString>
<fill color="coral"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="coral"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">cornflower</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x6495ED</drawString>
<fill color="cornflower"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="cornflower"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">cornsilk</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFF8DC</drawString>
<fill color="cornsilk"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="cornsilk"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">crimson</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDC143C</drawString>
<fill color="crimson"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="crimson"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">cyan</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00FFFF</drawString>
<fill color="cyan"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="cyan"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00008B</drawString>
<fill color="darkblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkcyan</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x008B8B</drawString>
<fill color="darkcyan"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkcyan"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkgoldenrod</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xB8860B</drawString>
<fill color="darkgoldenrod"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkgoldenrod"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkgray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xA9A9A9</drawString>
<fill color="darkgray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkgray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x006400</drawString>
<fill color="darkgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkkhaki</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xBDB76B</drawString>
<fill color="darkkhaki"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkkhaki"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkmagenta</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x8B008B</drawString>
<fill color="darkmagenta"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkmagenta"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkolivegreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x556B2F</drawString>
<fill color="darkolivegreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkolivegreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkorange</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF8C00</drawString>
<fill color="darkorange"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkorange"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkorchid</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x9932CC</drawString>
<fill color="darkorchid"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkorchid"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkred</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x8B0000</drawString>
<fill color="darkred"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkred"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darksalmon</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xE9967A</drawString>
<fill color="darksalmon"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darksalmon"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkseagreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x8FBC8B</drawString>
<fill color="darkseagreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkseagreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkslateblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x483D8B</drawString>
<fill color="darkslateblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkslateblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkslategray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x2F4F4F</drawString>
<fill color="darkslategray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkslategray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkturquoise</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00CED1</drawString>
<fill color="darkturquoise"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkturquoise"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">darkviolet</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x9400D3</drawString>
<fill color="darkviolet"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="darkviolet"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">deeppink</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF1493</drawString>
<fill color="deeppink"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="deeppink"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">deepskyblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00BFFF</drawString>
<fill color="deepskyblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="deepskyblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">dimgray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x696969</drawString>
<fill color="dimgray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="dimgray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">dodgerblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x1E90FF</drawString>
<fill color="dodgerblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="dodgerblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">firebrick</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xB22222</drawString>
<fill color="firebrick"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="firebrick"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">floralwhite</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFAF0</drawString>
<fill color="floralwhite"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="floralwhite"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">forestgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x228B22</drawString>
<fill color="forestgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="forestgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">fuchsia</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF00FF</drawString>
<fill color="fuchsia"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="fuchsia"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">gainsboro</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDCDCDC</drawString>
<fill color="gainsboro"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="gainsboro"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">ghostwhite</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF8F8FF</drawString>
<fill color="ghostwhite"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="ghostwhite"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">gold</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFD700</drawString>
<fill color="gold"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="gold"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">goldenrod</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDAA520</drawString>
<fill color="goldenrod"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="goldenrod"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">gray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x808080</drawString>
<fill color="gray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="gray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">grey (same as 'gray')</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x808080</drawString>
<fill color="grey"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="grey"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">green</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x008000</drawString>
<fill color="green"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="green"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">greenyellow</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xADFF2F</drawString>
<fill color="greenyellow"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="greenyellow"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">honeydew</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF0FFF0</drawString>
<fill color="honeydew"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="honeydew"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">hotpink</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF69B4</drawString>
<fill color="hotpink"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="hotpink"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">indianred</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xCD5C5C</drawString>
<fill color="indianred"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="indianred"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">indigo</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x4B0082</drawString>
<fill color="indigo"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="indigo"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">ivory</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFFF0</drawString>
<fill color="ivory"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="ivory"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">khaki</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF0E68C</drawString>
<fill color="khaki"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="khaki"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lavender</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xE6E6FA</drawString>
<fill color="lavender"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lavender"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lavenderblush</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFF0F5</drawString>
<fill color="lavenderblush"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lavenderblush"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lawngreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x7CFC00</drawString>
<fill color="lawngreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lawngreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lemonchiffon</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFACD</drawString>
<fill color="lemonchiffon"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lemonchiffon"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xADD8E6</drawString>
<fill color="lightblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightcoral</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF08080</drawString>
<fill color="lightcoral"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightcoral"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightcyan</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xE0FFFF</drawString>
<fill color="lightcyan"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightcyan"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightgoldenrodyellow</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFAFAD2</drawString>
<fill color="lightgoldenrodyellow"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightgoldenrodyellow"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x90EE90</drawString>
<fill color="lightgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightgrey</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xD3D3D3</drawString>
<fill color="lightgrey"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightgrey"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightpink</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFB6C1</drawString>
<fill color="lightpink"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightpink"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightsalmon</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFA07A</drawString>
<fill color="lightsalmon"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightsalmon"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightseagreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x20B2AA</drawString>
<fill color="lightseagreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightseagreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightskyblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x87CEFA</drawString>
<fill color="lightskyblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightskyblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightslategray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x778899</drawString>
<fill color="lightslategray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightslategray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightsteelblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xB0C4DE</drawString>
<fill color="lightsteelblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightsteelblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lightyellow</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFFE0</drawString>
<fill color="lightyellow"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lightyellow"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">lime</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00FF00</drawString>
<fill color="lime"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="lime"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">limegreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x32CD32</drawString>
<fill color="limegreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="limegreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">linen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFAF0E6</drawString>
<fill color="linen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="linen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">magenta</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF00FF</drawString>
<fill color="magenta"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="magenta"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">maroon</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x800000</drawString>
<fill color="maroon"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="maroon"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumaquamarine</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x66CDAA</drawString>
<fill color="mediumaquamarine"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumaquamarine"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x0000CD</drawString>
<fill color="mediumblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumorchid</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xBA55D3</drawString>
<fill color="mediumorchid"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumorchid"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumpurple</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x9370DB</drawString>
<fill color="mediumpurple"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumpurple"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumseagreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x3CB371</drawString>
<fill color="mediumseagreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumseagreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumslateblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x7B68EE</drawString>
<fill color="mediumslateblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumslateblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumspringgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00FA9A</drawString>
<fill color="mediumspringgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumspringgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumturquoise</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x48D1CC</drawString>
<fill color="mediumturquoise"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumturquoise"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mediumvioletred</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xC71585</drawString>
<fill color="mediumvioletred"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mediumvioletred"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">midnightblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x191970</drawString>
<fill color="midnightblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="midnightblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mintcream</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF5FFFA</drawString>
<fill color="mintcream"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mintcream"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">mistyrose</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFE4E1</drawString>
<fill color="mistyrose"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="mistyrose"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">moccasin</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFE4B5</drawString>
<fill color="moccasin"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="moccasin"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">navajowhite</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFDEAD</drawString>
<fill color="navajowhite"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="navajowhite"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">navy</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x000080</drawString>
<fill color="navy"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="navy"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">oldlace</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFDF5E6</drawString>
<fill color="oldlace"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="oldlace"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">olive</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x808000</drawString>
<fill color="olive"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="olive"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">olivedrab</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x6B8E23</drawString>
<fill color="olivedrab"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="olivedrab"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">orange</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFA500</drawString>
<fill color="orange"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="orange"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">orangered</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF4500</drawString>
<fill color="orangered"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="orangered"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">orchid</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDA70D6</drawString>
<fill color="orchid"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="orchid"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">palegoldenrod</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xEEE8AA</drawString>
<fill color="palegoldenrod"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="palegoldenrod"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">palegreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x98FB98</drawString>
<fill color="palegreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="palegreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">paleturquoise</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xAFEEEE</drawString>
<fill color="paleturquoise"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="paleturquoise"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">palevioletred</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDB7093</drawString>
<fill color="palevioletred"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="palevioletred"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">papayawhip</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFEFD5</drawString>
<fill color="papayawhip"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="papayawhip"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">peachpuff</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFDAB9</drawString>
<fill color="peachpuff"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="peachpuff"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">peru</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xCD853F</drawString>
<fill color="peru"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="peru"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">pink</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFC0CB</drawString>
<fill color="pink"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="pink"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">plum</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xDDA0DD</drawString>
<fill color="plum"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="plum"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">powderblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xB0E0E6</drawString>
<fill color="powderblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="powderblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">purple</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x800080</drawString>
<fill color="purple"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="purple"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">red</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF0000</drawString>
<fill color="red"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="red"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">rosybrown</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xBC8F8F</drawString>
<fill color="rosybrown"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="rosybrown"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">royalblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x4169E1</drawString>
<fill color="royalblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="royalblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">saddlebrown</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x8B4513</drawString>
<fill color="saddlebrown"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="saddlebrown"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">salmon</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFA8072</drawString>
<fill color="salmon"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="salmon"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">sandybrown</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF4A460</drawString>
<fill color="sandybrown"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="sandybrown"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">seagreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x2E8B57</drawString>
<fill color="seagreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="seagreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">seashell</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFF5EE</drawString>
<fill color="seashell"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="seashell"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">sienna</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xA0522D</drawString>
<fill color="sienna"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="sienna"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">silver</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xC0C0C0</drawString>
<fill color="silver"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="silver"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">skyblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x87CEEB</drawString>
<fill color="skyblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="skyblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">slateblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x6A5ACD</drawString>
<fill color="slateblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="slateblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">slategray</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x708090</drawString>
<fill color="slategray"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="slategray"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">snow</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFAFA</drawString>
<fill color="snow"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="snow"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">springgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x00FF7F</drawString>
<fill color="springgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="springgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">steelblue</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x4682B4</drawString>
<fill color="steelblue"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="steelblue"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">tan</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xD2B48C</drawString>
<fill color="tan"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="tan"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">teal</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x008080</drawString>
<fill color="teal"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="teal"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">thistle</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xD8BFD8</drawString>
<fill color="thistle"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="thistle"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">tomato</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFF6347</drawString>
<fill color="tomato"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="tomato"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">turquoise</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x40E0D0</drawString>
<fill color="turquoise"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="turquoise"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">violet</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xEE82EE</drawString>
<fill color="violet"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="violet"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">wheat</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF5DEB3</drawString>
<fill color="wheat"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="wheat"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">white</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFFFF</drawString>
<fill color="white"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="white"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">whitesmoke</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xF5F5F5</drawString>
<fill color="whitesmoke"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="whitesmoke"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">yellow</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0xFFFF00</drawString>
<fill color="yellow"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="yellow"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>
 
<illustration height="20" width="0">
<setFont name="Helvetica" size="12"/>
<drawString x="3.2in" y="2">yellowgreen</drawString>
<drawString x="5in" y="2">Hex:</drawString>
<setFont name="Courier" size="12"/>
<drawString x="5.5in" y="2">0x9ACD32</drawString>
<fill color="yellowgreen"/>
<rect x="0.1in" y="0" width="1in" height="15" fill="1"/>
<stroke color="yellowgreen"/>
<circle x="1.5in" y="7" radius="7"/>
<circle x="2in" y="7" radius="7" fill="1"/>
<setFont name="Times-Bold" size="12"/>
<drawString x="2.2in" y="2">Text 123</drawString>
</illustration>

<nextFrame/>

<h1>
Appendix B - Glossary of terms and abbreviations
</h1>
<outlineAdd level="1">Appendix B-Glossary</outlineAdd>

<condPageBreak height="30"/><para style="nospace">
<b>baseline</b>
</para><para>
In typography, the imaginary line on which characters sit. The 
x-height of a font is measured from the baseline to the top of a 
lowercase x. The descender, for those characters that have one, is 
defined as the portion of the character that falls below the baseline. 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>Bezier curves</b>
</para><para>
Named after the French mathematician Pierre Bézier, Bezier curves 
utilize at least three points to define a curve. The endpoints are 
called the anchor points, while any other point is known as node. The 
curves produced by RML's <font face="Courier">&lt;curves&gt;</font> 
tag are Bezier curves. 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>bitmap</b>
</para><para style="nospace">
A bitmap is a way of storing an image. In bitmaps, each pixel 
("picture-cell") is stored as one or more bits of data in a "map" 
consisting of rows and columns. This means that when you print them 
out at the size they were created at they look fine, but shrinking or 
enlarging them leads to them looking blocky and ragged.
</para>
<para style="nospace">
JPEG and GIF are both bitmapped graphics formats (as are BMP, PICT and 
PNG). You can use gifs and jpegs in your RML document with the 
<font face="Courier">&lt;image&gt;</font> tag.
</para>
<para>
<i>see also "gif", "JPEG", "image"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>Boolean</b>
</para><para>
Named after the nineteenth-century mathematician George Boole, Boolean 
logic is a form of algebra in which all values are reduced to either 
TRUE or FALSE (or 0 and 1).
</para>

<condPageBreak height="30"/><para style="nospace">
<b>CMYK</b>
</para><para>
A way of specifying a color by its Cyan, Magenta, Yellow
and Black ('Key') components. Usually used when referring to
pigments - such as in printing.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>DTD</b>
</para><para>
Document Type Definition. A term from XML that refers to the file that defines the
legal building blocks of an XML document, and the permissible ways to structure it.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>empty elements</b>
</para><para>
"Empty" elements are those tags that don't have any content, and are closed with 
a "<font face="Courier">/&gt;</font>" at the end of the <i>same</i> tag rather 
than having a separate closing tag. (e.g. <font face="Courier">&lt;getName id="Header.Title"/&gt;</font> 
doesn't have a separate <font face="Courier">&lt;/getName&gt;</font> tag - the 
"<font face="Courier">/&gt;</font>" serves to close it so it doesn't need one). 
Empty elements are also sometimes known as "singletons".
</para>

<condPageBreak height="30"/><para style="nospace">
<b>fill</b>
</para><para>
In RML, the color that a graphic or text item is filled with (as opposed to that 
of its outline or <font face="Courier">stroke</font>).
</para>

<condPageBreak height="30"/><para style="nospace">
<b>flowables</b>
</para><para style="nospace">
In RML, "flowables" are items which appear in a story (such as paragraph, 
spacer, and tables). Flowables are positioned in sequence running 
down a frame until there is no more room left in that frame, when they 
are placed in the next frame (or on the next page if necessary). They 
can not be mixed with graphics. 
</para>
<para style="nospace">
Flowables include the following tags:
</para>
<para style="nospace">
<font face="Courier">para</font>, 
<font face="Courier">blockTable</font>, 
<font face="Courier">title</font>, 
<font face="Courier">h1</font>, 
<font face="Courier">h2</font>, 
<font face="Courier">h3</font>, 
<font face="Courier">spacer</font>, 
<font face="Courier">illustration</font>, 
<font face="Courier">pre</font> and 
<font face="Courier">plugInFlowable</font>.
</para>
<para>
<i>see also "graphics"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>GIF</b>
</para><para style="nospace">
GIF (Graphics Interchange Format) is a bit-mapped graphics file format created by CompuServe in 1987.
It is still in common use on the World Wide Web and many other places today. 
</para>
<para style="nospace">
You can use gifs in your RML document with the <font face="Courier">image</font> tag.
</para>
<para>
<i>see also "bitmap", "JPEG", "image"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>graphics</b>
</para><para style="nospace">
In RML, "graphics" are items which can appear inside the <font face="Courier">pageGraphics</font> and 
<font face="Courier">illustration</font> tags. Unlike flowables, graphics are explicitly positioned 
on the page by co-ordinates. They can not be mixed with flowables.
</para>
<para>
<i>see also "flowables"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>HTML</b>
</para><para>
The Hyper-Text Markup Language. The language used for writing pages
on the World Wide Web.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>image</b>
</para><para style="nospace">
In RML, the "image" tag allows you to use existing graphics files in your document. Currently image supports 
the GIF and JPEG formats - the two most common formats on the World Wide Web. Most paint 
applications support both the GIF and JPEG standards.
</para>
<para>
<i>see also "bitmap", "GIF", "JPEG"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>JPEG</b>
</para><para style="nospace">
A lossy compression technique for color images created by the Joint Photographic Experts Group (JPEG). 
Better for photos than the GIF format, it can use up to 24-bit color and reduce file sizes to about 5% of their normal size. 
JPEG files are widely used on the World Wide Web and many other places.
</para>
<para style="nospace">
(The JPEG format is sometimes known as JFIF, JFI, and JPG as well as  JPEG).
</para>
<para style="nospace">
You can use JPEG files in your RML document with the <font face="Courier">image</font> tag.
</para>
<para>
<i>see also "bitmap", "gif", "image"</i>
</para>

<condPageBreak height="30"/><para style="nospace">
<b>jpg</b>
</para><para>
See <i>JPEG</i>.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>leading</b>
</para><para style="nospace">
Leading (pronounced "ledding") is the amount of vertical space allotted for a line of type - the 
distance between the baseline of one line to the baseline of the next. The name comes from the
way that printers used to use thin strips of lead or brass to separate the lines of metal type.
</para><para style="nospace">
In RML, leading can be supplied as an attribute for the <font face="Courier">para</font> and 
<font face="Courier">paraStyle</font> tags. 
It is expressed as the height of the line <i>plus</i> the space between lines. So, for example, 
using a 12 point font with a leading of 18 gives you a space between lines of 6 points.
</para>
<para>
You can also have negative leading. By giving a number <i>smaller</i> than the size of font you are
using, you can arrange it so that the lines overlap each other. 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>orthogonal</b>
</para><para style="nospace">
An adjective from mathematics meaning "relating to or composed of right angles". 
</para><para>
A non-orthogonal transformation is one which does not preserve right angles. 
<font face="Courier">skew</font> is a non-orthogonal transformation.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>PDF</b>
</para><para>
The Portable Document Format. A format created by Adobe, this is a standard for
electronic documents which is platform-independent due to the freely available
Acrobat reader. The PDF file format is a complex indexed binary format, with a
specification 600 pages long. (RML is <i>much</i> easier!)
</para>

<condPageBreak height="30"/><para style="nospace">
<b>RGB</b>
</para><para>
A way of specifying a color by its Red, Green and Blue components. Usually used 
when referring to lights - such as on a computer screen. 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>RML</b>
</para><para>
Report Markup Language. An XML dialect, created by ReportLab, Inc, 
and and used by their software rml2pdf to produce documents in PDF. 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>singletons</b>
</para><para>
See "empty elements".
</para>

<condPageBreak height="30"/><para style="nospace">
<b>story</b>
</para><para>
The part of an RML document where the main content of a document goes (if it uses 
the "template/stylesheet/story" form). This is where text - split into paragraphs 
by <font face="Courier">&lt;para&gt;</font> tags - is put.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>stroke</b>
</para><para>
In RML, the color of the outline of a graphic or text item (as opposed to that of 
its inside or <font face="Courier">fill</font>.)
</para>

<condPageBreak height="30"/><para style="nospace">
<b>stylesheet</b>
</para><para>
This is an obligatory part of an RML document. It is where the styles for 
paragraphs and <font face="Courier">blockTables</font> are defined (though it can be empty). 
</para>

<condPageBreak height="30"/><para style="nospace">
<b>template</b>
</para><para>
In those RML documents that use the "template/stylesheet/story" form, this is the
part of the document where any headers, footers, or background graphic elements 
are defined.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>vanilla</b>
</para><para style="nospace">
Plain, ordinary, or standard [from the default flavor of ice cream in the U.S.] 
</para><para>
In RML, you can put in letters, numbers, and punctuation in places which allow you 
to use "vanilla text", but tags such as <font face="Courier">&lt;para&gt;</font> or 
<font face="Courier">&lt;b&gt;</font> are not allowed.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>whitespace</b>
</para><para style="nospace">
For programmers, whitespace refers to all the characters that appear as blanks on your screen.
This includes the space and tab characters, linefeeds, carriage returns, and other more specialised
characters.
</para>
<para>
For designers, whitespace is any areas on a page that aren't the content - the bits that are free of text or artwork.
</para>

<condPageBreak height="30"/><para style="nospace">
<b>XML</b>
</para><para>
The Extensible Markup Language - a document processing standard set by the 
World Wide Web Consortium (W3C) - the people who defined the standard for HTML. 
</para>

<setNextTemplate name="GreekAppendix"/>
<nextFrame/>

<h1>Appendix C - Letters used by the Greek tag</h1>
<outlineAdd level="1">Appendix C-Letters used by the Greek tag</outlineAdd>

<nextFrame/>

    <para style="GreekPara"><b>Greek Letter</b></para>
    <para style="GreekPara"><greek>a</greek></para>
    <para style="GreekPara"><greek>b</greek></para>
    <para style="GreekPara"><greek>c</greek></para>
    <para style="GreekPara"><greek>d</greek></para>
    <para style="GreekPara"><greek>e</greek></para>
    <para style="GreekPara"><greek>f</greek></para>
    <para style="GreekPara"><greek>g</greek></para>
    <para style="GreekPara"><greek>h</greek></para>
    <para style="GreekPara"><greek>i</greek></para>
    <para style="GreekPara"><greek>j</greek></para>
    <para style="GreekPara"><greek>k</greek></para> 
    <para style="GreekPara"><greek>l</greek></para> 
    <para style="GreekPara"><greek>m</greek></para> 
    <para style="GreekPara"><greek>n</greek></para>     
    <para style="GreekPara"><greek>o</greek></para>     
    <para style="GreekPara"><greek>p</greek></para>     
    <para style="GreekPara"><greek>q</greek></para>     
    <para style="GreekPara"><greek>r</greek></para>     
    <para style="GreekPara"><greek>s</greek></para>     
    <para style="GreekPara"><greek>t</greek></para>     
    <para style="GreekPara"><greek>u</greek></para>     
    <para style="GreekPara"><greek>v</greek></para>     
    <para style="GreekPara"><greek>w</greek></para>     
    <para style="GreekPara"><greek>x</greek></para>     
    <para style="GreekPara"><greek>y</greek></para>     
    <para style="GreekPara"><greek>z</greek></para>     

<nextFrame/>

    <para style="GreekPara"><b>RML Representation</b></para>
    <para style="GreekPara">&lt;greek&gt;a&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;b&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;c&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;d&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;e&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;f&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;g&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;h&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;i&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;j&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;k&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;l&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;m&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;n&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;o&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;p&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;q&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;r&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;s&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;t&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;u&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;v&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;w&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;x&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;y&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;z&lt;/greek&gt;</para>

<nextFrame/>

    <para style="GreekPara"><b>Greek Letter</b></para>
    <para style="GreekPara"><greek>A</greek></para>
    <para style="GreekPara"><greek>B</greek></para>
    <para style="GreekPara"><greek>C</greek></para>
    <para style="GreekPara"><greek>D</greek></para>
    <para style="GreekPara"><greek>E</greek></para>
    <para style="GreekPara"><greek>F</greek></para>
    <para style="GreekPara"><greek>G</greek></para>
    <para style="GreekPara"><greek>H</greek></para>
    <para style="GreekPara"><greek>I</greek></para>
    <para style="GreekPara"><greek>J</greek></para>
    <para style="GreekPara"><greek>K</greek></para>
    <para style="GreekPara"><greek>L</greek></para>
    <para style="GreekPara"><greek>M</greek></para>
    <para style="GreekPara"><greek>N</greek></para>
    <para style="GreekPara"><greek>O</greek></para>
    <para style="GreekPara"><greek>P</greek></para>
    <para style="GreekPara"><greek>Q</greek></para>
    <para style="GreekPara"><greek>R</greek></para>
    <para style="GreekPara"><greek>S</greek></para>
    <para style="GreekPara"><greek>T</greek></para>
    <para style="GreekPara"><greek>U</greek></para>
    <para style="GreekPara"><greek>V</greek></para>
    <para style="GreekPara"><greek>W</greek></para>
    <para style="GreekPara"><greek>X</greek></para>
    <para style="GreekPara"><greek>Y</greek></para>
    <para style="GreekPara"><greek>Z</greek></para>

<nextFrame/>

    <para style="GreekPara"><b>RML Representation</b></para>
    <para style="GreekPara">&lt;greek&gt;A&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;B&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;C&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;D&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;E&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;F&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;G&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;H&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;I&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;J&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;K&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;L&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;M&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;N&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;O&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;P&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;Q&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;R&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;S&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;T&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;U&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;V&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;W&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;X&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;Y&lt;/greek&gt;</para>
    <para style="GreekPara">&lt;greek&gt;Z&lt;/greek&gt;</para>

<setNextTemplate name="inside"/>
<nextFrame/>

<condPageBreak height="144"/><h1>
Appendix D - Command reference
</h1>
<outlineAdd level="1">Appendix D-Command reference</outlineAdd>
 
<para>
All attributes are optional unless otherwise specified.
</para>


        <condPageBreak height="2in"/>
            <h3>document</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;document</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">filename="myfile.pdf"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;template...&gt;...&lt;/template&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;stylesheet...&gt;...&lt;/stylesheet&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;story...&gt;...&lt;/story&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/document&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>


<para>Above is the story based form for the document tag.</para>

        <condPageBreak height="2in"/>
            <h3>document</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;document</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">filename="myfile.pdf"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;stylesheet&gt;...&lt;/stylesheet&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;pageInfo&gt;...&lt;/pageInfo&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">optional</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;pageDrawing&gt;...&lt;/pageDrawing&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">one or more</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/document&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>


<para>Above is the PageDrawing based form for the document tag.</para>
<para>The document tag is the root tag for RML documents.  Every RML document must contain one and
only one document tag.  There are two forms for a document: the story form and the pageDrawing form.</para>

        <condPageBreak height="2in"/>
            <h3>template</h3>
        <illustration height="210" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="195">&lt;template</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="180">pageSize="(8.5in, 11in)"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="180">pair of lengths</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="165">leftMargin="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="165">length</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="150">rightMargin="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="150">length</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="135">topMargin="1.5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="135">length</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">bottomMargin="1.5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">length</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">showBoundary="false"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">allowSplitting="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">title="my title"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">author="yours truly"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;pageTemplate...&gt; ...&lt;/pageTemplate&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">1 or more</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/template&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="210" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>stylesheet</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;stylesheet&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;initialize&gt;...&lt;/initialize&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">optional</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;paraStyle ... /&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">(any number</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;blockTableStyle&gt;...&lt;/blockTableStyle&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">of styles)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/stylesheet&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>story</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;story&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;para&gt;...&lt;/para&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">top level</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;illustration&gt;...&lt;/illustration&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">flowables)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/story&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>pageInfo</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;pageInfo</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">pageSize="(8.5in,11in)"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">pair of lengths</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>pageDrawing</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;pageDrawing&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;drawString ...&gt; ...&lt;/drawString&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">graphical</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;place ...&gt;...&lt;/place&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">operations)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/pageDrawing&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>pageGraphic</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;pageGraphic&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;drawString ...&gt; ...&lt;/drawString&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">graphical</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;place&gt;...&lt;/place&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">operations)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/pageGraphic&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Generic Flowables (Story Elements)</h1>



        <condPageBreak height="2in"/>
            <h3>spacer</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;spacer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">length="1.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">width="5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>illustration</h3>
        <illustration height="135" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="120">&lt;illustration</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">height="1.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="105">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">width="5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;drawString ...&gt; ...&lt;/drawString&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">graphical</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;place ...&gt;...&lt;/place&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">operations)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/illustration&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="135" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>pre</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;pre</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">style="myfavoritestyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">Preformatted Text</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">also string forms (getname)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/pre&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>plugInFlowable</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;plugInFlowable</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">module="mymodule"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">function="myfunction"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">string data for plug in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">unformatted data</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/plugInFlowable&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>


<h2>Table Elements</h2>

        <condPageBreak height="2in"/>
            <h3>blockTable</h3>
        <illustration height="150" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="135">&lt;blockTable</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">style="mytablestyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">string style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">rowHeights="(23, 20, 30, 10)"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">sequence of measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">colWidths="50, 90, 35, 11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">sequence of measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;tr&gt;...&lt;/tr&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(rows of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;tr&gt;...&lt;/tr&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">same length)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/blockTable&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="150" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>tr</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;tr&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;td&gt;...&lt;/td&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;td&gt;...&lt;/td&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/tr&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>td</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;td&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">string of string form</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">or sequence of flowable</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/td&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>


<h2>Paragraph-like Elements</h2>

        <condPageBreak height="2in"/>
            <h3>para</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;para</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">style="myfavoritstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/para&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>title</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;title</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">style="myfavoritstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/title&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>h1</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;h1</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">style="myfavoritstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/h1&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>h2</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;h2</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">style="myfavoritstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/h2&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>h3</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;h3</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">style="myfavoritstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string paragraph style name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/h3&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>


<h2>Intra-Paragraph Markup</h2>

        <condPageBreak height="2in"/>
            <h3>i</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;i&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/i&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>b</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;b&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/b&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>font</h3>
        <illustration height="135" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="120">&lt;font</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">face="Helvetica"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">string font name</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">color="blue"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string color name</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">size="34"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">fontsize measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/font&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="135" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>greek</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;greek&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/greek&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>sub</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;sub&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/sub&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>super</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;super&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">Paragraph text which may contain</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">intraparagraph markup</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/super&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>seq</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;seq</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">id="SecNum"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">template="%(Ch)s.%(SecNum)s"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>seqDefault</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;seqDefault</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">id="SecNum"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>seqReset</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;seqReset</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">id="SecNum"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>


<h2>Page Level Flowables</h2>

        <condPageBreak height="2in"/>
            <h3>nextFrame</h3>
        <illustration height="30" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;nextFrame/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="30" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>setNextTemplate</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;setNextTemplate</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">name="indextemplate"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string template name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>condPageBreak</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;condPageBreak</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">height="10cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Graphical Drawing Operations</h1>



        <condPageBreak height="2in"/>
            <h3>drawString</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;drawString</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">text to draw or string forms</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/drawString&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>drawRightString</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;drawRightString</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">text to draw or string forms</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/drawRightString&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>drawCentredString</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;drawCentredString</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">text to draw or string forms</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/drawCentredString&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>ellipse</h3>
        <illustration height="135" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="120">&lt;ellipse</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="105">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">width="5cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">height="3cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">fill="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stroke="false"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="135" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>circle</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;circle</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">radius="3cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">fill="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stroke="false"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>rect</h3>
        <illustration height="150" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="135">&lt;rect</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="120">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="105">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">width="5cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">height="3cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">round="1.2cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">fill="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stroke="false"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="150" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>grid</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;grid</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">xs="1in 2in 3in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">measurements</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">ys="7in 7.2in 7.4in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurements</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>lines</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;lines&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">1in 1in 2in 2in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">quadruples of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">1in 2in 2in 3in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">measurements</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">1in 3in 2in 4in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">representing</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">line segments</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/lines&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>curves</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;curves&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">1in 1in 2in 2in 2in 3in 1in 3in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">octtuples of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">1in 2in 2in 3in 2in 4in 1in 4in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">measurements</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">1in 3in 2in 4in 2in 5in 1in 5in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">representing</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">Bezier curves</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/curves&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>image</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;image</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">file="cute.jpg"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">width="5cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">height="3cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>place</h3>
        <illustration height="165" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="150">&lt;place</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="135">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="135">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="135">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="120">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">width="5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="105">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">height="3in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;para&gt;...&lt;/para&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">top level</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;illustration&gt;...&lt;/illustration&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">flowables)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/place&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="165" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>doForm</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;doForm</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">name="logo"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>plugInGraphic</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;plugInGraphic</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">module="mymodule"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">function="myfunction"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">string data for plug in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">unformatted data</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/plugInGraphic&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>path</h3>
        <illustration height="180" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="165">&lt;path</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="150">x="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="150">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="150">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="135">y="7in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="135">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="135">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">close="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">fill="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">stroke="false"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">1in 6in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">measurement pairs</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">1in 7in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">representing points</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">or path operations</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/path&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="180" width="-5" fill="true"/>
        </illustration>


<h2>Path Operations</h2>

        <condPageBreak height="2in"/>
            <h3>moveTo</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;moveTo&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">5in 3in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">measurement pair</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/moveTo&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>curvesTo</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;curvesTo&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">1in 1in 1in 4in 4in 4in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">sextuples of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">2in 2in 2in 5in 5in 5in</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">measurements for</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">bezier curves</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/curvesTo&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Graphical State Change Operations</h1>



        <condPageBreak height="2in"/>
            <h3>fill</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;fill</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">color="blue"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>stroke</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;stroke</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">color="blue"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>setFont</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;setFont</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">name="Helvetica"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">size="1cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>form</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;form</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">name="logo"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;drawString ...&gt; ...&lt;/drawString&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">(Sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">graphical</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;place ...&gt;...&lt;/place&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">operations)</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/form&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>catchForms</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;catchForms</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">storageFile="storage.data"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string name</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>scale</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;scale</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">sx="0.8"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">scale factor</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">sy="1.3"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">scale factor</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>translate</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;translate</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">dx="0.8in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">dy="1.3in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>rotate</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;rotate</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">degrees="45"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">angle in degrees</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>skew</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;skew</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">alpha="15"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">angle in degrees</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">beta="5"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">angle in degrees</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>transform</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;transform&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">1.0 0.3</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">six number affine</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">-0.2 1.1</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">transformation</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">10.1 15</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">matrix</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/transform&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>lineMode</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;lineMode</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">width="0.2cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">dash=".1cm .2cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurements</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">join="round"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">"round", "mitered", or "bevelled"</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">cap="square"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">"default", "round", or "square"</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Style Elements</h1>



        <condPageBreak height="2in"/>
            <h3>initialize</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;initialize&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;alias.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">sequence of</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;name.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">alias, name</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">&lt;color.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">or color tags</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/initialize&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>paraStyle</h3>
        <illustration height="300" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="285">&lt;paraStyle</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="270">name="mystyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="270">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="255">alias="pretty"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="255">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="240">parent="oldstyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="240">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="225">fontname="Courier-Oblique"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="225">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="210">fontsize="13"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="210">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="195">leading="20"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="195">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="180">leftIndent="1.25in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="180">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="165">rightIndent="2.5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="165">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="150">firstLineIndent="0.5in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="150">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="135">spaceBefore="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="135">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="120">spaceAfter="3cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="120">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="105">alignment="justify"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="105">"left", "right", "center" or "justify"</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">bulletFontname="Courier"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">bulletFontsize="13"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">bulletIndent="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">textColor="red"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">backColor="cyan"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="300" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockTableStyle</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;blockTableStyle</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">id="mytablestyle"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;blockFont.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">table style</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;blockLeading.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">block descriptors</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/blockTableStyle&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>


<h2>Table Style Block Descriptors</h2>

        <condPageBreak height="2in"/>
            <h3>blockFont</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;blockFont</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">name="TimesRoman"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">size="8"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">leading="10"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockLeading</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockLeading</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">length="10"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockTextColor</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockTextColor</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">colorName="pink"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockAlignment</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockAlignment</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">value="left"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">"left", "right", or "center"</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockLeftPadding</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockLeftPadding</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">length="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockRightPadding</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockRightPadding</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">length="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockBottomPadding</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockBottomPadding</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">length="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockTopPadding</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockTopPadding</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">length="0.2in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockBackground</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockBackground</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">colorName="indigo"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>blockValign</h3>
        <illustration height="90" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&lt;blockValign</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">value="left"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">"top", "middle", or "bottom"</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="90" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>lineStyle</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;lineStyle</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">kind="BOX"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">line command</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">thickness="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">colorName="magenta"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">start="4"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">stop="11"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>


<para>
The line command names are: GRID, BOX,
OUTLINE, INNERGRID, LINEBELOW, LINEABOVE, LINEBEFORE and LINEAFTER. BOX and
OUTLINE are equivalent, and GRID is the equivalent of applying both BOX and INNERGRID.
</para>

<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Page Layout Tags</h1>



        <condPageBreak height="2in"/>
            <h3>pageTemplate</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;pageTemplate</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">id="frontpage"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="75">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;pageGraphics&gt;...&lt;/pageGraphics&gt;...</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">optional 1 or 2</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;frame.../&gt;</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">one or more</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">...</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/pageTemplate&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>frame</h3>
        <illustration height="120" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="105">&lt;frame</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="90">id="left"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="90">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="90">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">x1="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="75">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">y1="1in"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="60">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">width="50cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">height="90cm"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">measurement</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="120" width="-5" fill="true"/>
        </illustration>



<condPageBreak height="2in"/>
    <spacer length="0.2in"/>
    <h1>Special Tags</h1>



        <condPageBreak height="2in"/>
            <h3>name</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;name</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">id="chapterName"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">value="Introduction"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>alias</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;alias</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">id="footerString"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">value="chapterName"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>getName</h3>
        <illustration height="60" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&lt;getName</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">id="footerString"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="60" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>color</h3>
        <illustration height="75" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="60">&lt;color</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="45">id="footerString"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="45">string</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="45">required</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="30">RGB="77aa00"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="30">hexadecimal red/green/blue values</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="75" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>pageNumber</h3>
        <illustration height="30" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;pageNumber/&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="30" width="-5" fill="true"/>
        </illustration>



        <condPageBreak height="2in"/>
            <h3>outlineAdd</h3>
        <illustration height="105" width="1">
        <setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="90">&lt;outlineAdd</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="75">level="1"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="75">integer</drawString>
<setFont name="Courier" size="10"/>
<fill color="blue"/>
<stroke color="blue"/>
<drawString x="1in" y="60">closed="true"</drawString>
<setFont name="Helvetica" size="10"/>
<fill color="green"/>
<stroke color="green"/>
<drawString x="3.6in" y="60">truth value</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="45">&gt;</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="30">Chapter 1, section 2</drawString>
<setFont name="Helvetica-Oblique" size="10"/>
<fill color="red"/>
<stroke color="red"/>
<drawString x="5.2in" y="30">outline entry text</drawString>
<setFont name="Courier" size="10"/>
<fill color="black"/>
<stroke color="black"/>
<drawString x="0" y="15">&lt;/outlineAdd&gt;</drawString>
<fill color="plum"/>
<stroke color="plum"/>
<rect x="-10" y="0" height="105" width="-5" fill="true"/>
        </illustration>



<!-- Uncomment this to print the "Data Block" with info about  -->
<!-- the file revision,  date file was last changed etc        --> 

<!-- 
<nextFrame/>

<spacer length="20.75cm"/>
 
<blockTable
	rowHeights="15,15,15,15,15"
	colWidths="4.2cm,4.2cm,9cm"
	>	
    <tr>
        <td>
            Document title:
        </td>
        <td>
            RML User Guide
        </td>
		<td>
		</td>
    </tr><tr>
        <td>
            RML filename:
        </td>
        <td>
            rml_user_guide.rml
        </td>
		<td>
		</td>
    </tr><tr>
        <td>
             PDF filename:
        </td>
        <td>
             RML_UserGuide_1_0.pdf
        </td>
		<td>
		</td>
    </tr><tr>
        <td>
             Last Modified:
        </td>
        <td>
            $Date$
        </td>
		<td>
		</td>
    </tr><tr>
        <td>
            Document Version Number:
         </td>
         <td>
            $Revision$
         </td>
		<td>
		</td>
     </tr>
</blockTable>

-->

 
 
</story>

</document>
