aboutsummaryrefslogtreecommitdiffstats
path: root/src/documentation/content/xdocs/design/useragent.xml
blob: 3a64366c7c9163545a17aea8a18c14e0e33d49db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0" standalone="no"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
    "http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">

<document>
    <header>
        <title>FO User Agent</title>
        <subtitle>Design of FO User Agent</subtitle>
        <authors>
            <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
        </authors>
    </header>

    <body>
<section>
  <title>Purpose</title>
<p>
Technically the user agent is FOP in the role of determining the
output format and when resolving various attributes. The user
agent is represented by a class that is available to others to
specify how FOP should behave.
  </p>
  <p>
The user agent is used by the formatting process to determine
certain user definable values.
  </p>
  <p>
It will enable the customisation of values for generating and
rendering the document.
  </p>
  <p>
The user agent must be available to the layout processor and
the renderer. Users can supply their own user agent or use
the default one for a particular renderer.
  </p>
  <p>
The user agent needs to be made available to the property
resolution layout process and the renderer.
   </p>

  <p>
Standard Features:
  </p>
       <ul>
       <li>error handling, what to do if fo markup is invalid</li>
       <li>auto overflow value and handling error-if-overflow</li>
       <li>adjusting length values (eg. for borders) to renderable values</li>
       <li>available fonts</li>
       <li>converting cm/in to pt (dpi)</li>
       <li>active state for multi properties</li>
       <li>title, used to identify a set of pages (in a page sequence)</li>
       <li>the width (in inline-progression-dimension) of a character with
treat-word-as-space true</li>
       <li>maximum space used by conditional areas from region-reference-area</li>
       <li>if there should be "hot links" to before floats or footnotes</li>
       <li>when to clear side floats if space in inline-progression-dimension
is not enough</li>
       <li>placement of left over footnotes on a page with a region-body</li>
       <li>using color property as border colour</li>
       <li>interpretting all border styles (except outset) as solid</li>
       <li>thin, medium and thick values for border width</li>
       <li>initial font-family value</li>
       <li>absolute font sizes (eg, xx-small, x-small etc.)</li>
       <li>relative font sizes (eg. larger, smaller)</li>
       <li>small caps simulation</li>
       <li>font weight mapping</li>
       <li>baseline info for a font if not available</li>
       <li>determining sub/superscript when another baseline is dominant</li>
       <li>scaling method for external-graphic and instream-foreign-object</li>
       <li>the width of a replaced element</li>
       <li>"normal" line height value</li>
       <li>text alignment (stretching the line with letter and word spacing)</li>
       <li>text transform</li>
       <li>initial color</li>
       <li>rendering intent of auto</li>
       <li>dot character for leader</li>
       <li>line breaking with leaders, use optimum length when breaking the line</li>
       <li>page height/width of auto</li>
       <li>left and right caption widths</li>
       <li>glyph orientation vertical of auto</li>
       <li>rendering processor of content-type (mime type)</li>
       </ul>

  <p>
Interactive Features:
  </p>
       <ul>
       <li>inline and block scroll amount</li>
       <li>dynamic effects, links and property sets</li>
       <li>initial "pause-after", "pause-before" and "voice-family" value</li>
       <li>treating fixed as scroll on background attachement</li>
       <li>media usage of auto</li>
       </ul>

  </section>

    </body>
</document>