aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/useragent.xml
blob: cf3bea97c6c056b095d442deac1f9cdf2f8b5a0a (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?xml version="1.0" standalone="no"?>

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

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

  </s1>

    </body>
</document>