annotate man/w3.texi @ 143:50e7fedfe353

Added tag r20-2b5 for changeset 1856695b1fa9
author cvs
date Mon, 13 Aug 2007 09:33:20 +0200
parents cca96a509cfe
children 5a88923fcbfe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2 @c
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3 @c Please note that this file uses some constructs not supported by earlier
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
4 @c versions of TeX-info. You must be running one of the newer TeX-info
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
5 @c releases (I currently use version 3.9 from ftp://prep.ai.mit.edu/pub/gnu/)
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
6 @c
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
7 @c Please do not send in bug reports about not being able to format the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
8 @c document with 'makeinfo' or 'tex', just upgrade your installation.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
9 @c
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
10 @c Info formatted files are provided in the distribution, and you can
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
11 @c retrieve dvi, postscript, and PDF versions from the web site or FTP
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
12 @c site: http://www.cs.indiana.edu/elisp/w3/docs.html
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
13 @c
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
14 @setfilename w3.info
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
15 @settitle Emacs/W3 User's Manual
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 @finalout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @c @setchapternewpage odd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @c @smallbook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 @tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 \overfullrule=0pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 %\global\baselineskip 30pt % for printing in double space
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @end tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 @synindex cp fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 @synindex vr fn
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
27 @dircategory World Wide Web
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
28 @dircategory GNU Emacs Lisp
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
29 @direntry
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
30 * W3: (w3). Emacs/W3 World Wide Web browser.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
31 @end direntry
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 @ifinfo
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
33 This file documents the Emacs/W3 World Wide Web browser.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
35 Copyright (C) 1993, 1994, 1995, 1996 William M. Perry
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
36 Copyright (C) 1996, 1997 Free Software Foundation
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 Permission is granted to process this file through Tex and print the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 results, provided the printed document carries copying permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 notice identical to this one except for the removal of this paragraph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 (this paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 @sp 6
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
53 @center @titlefont{Emacs/W3}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @center @titlefont{User's Manual}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 @sp 4
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
56 @center Third Edition, Emacs/W3 Version 3.0
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @sp 1
118
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
58 @center March 1997
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 @sp 5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @center William M. Perry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 @center @i{wmperry@@cs.indiana.edu}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 Copyright @copyright{} 1993, 1994, 1995 William M. Perry@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
65 Copyright @copyright{} 1996, 1997 Free Software Foundation
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 Permission is granted to make and distribute verbatim copies of@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 this manual provided the copyright notice and this permission notice@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 @ifinfo
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
74 @node Top, Getting Started, (dir), (dir)
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
75 @top W3
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
76
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
77 Users can browse the World Wide Web from within Emacs by using Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
78 All of the widely used (and even some not very widely used) @sc{url}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
79 schemes are supported, and it is very easy to add new methods as the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
80 need arises.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
81
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
82 Emacs/W3 provides some core functionality that can be readily re-used
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
83 from any program in Emacs. Users and other package writers are
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
84 encouraged to @i{Web-enable} their applications and daily work routines
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
85 with the library.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
86
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
87 Emacs/W3 is completely customizable, both from Emacs-Lisp and from
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
88 stylesheets @xref{Stylesheets} If there is any aspect of Emacs/W3 that
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
89 cannot be modified to your satisfaction, please send mail to the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
90 @t{w3-beta@@indiana.edu} mailing list with any suggestions.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
91 @xref{Reporting Bugs}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 @menu
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
94 * Getting Started:: Getting up and running with Emacs/W3
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
95 * Basic Usage:: Basic movement and usage of Emacs/W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 * Compatibility:: Explanation of compatibility with
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
97 other browsers.
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
98 * Stylesheets:: How to control the look of web pages
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
99 * Supported URLs:: What @sc{URL} schemes are supported.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
100 * MIME Support:: Support for @sc{mime}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
101 * Security:: Various security methods supported
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
102 * Non-Unix Operating Systems:: Special considerations necessary to get
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 up and running correctly under non-unix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 OS's.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
105 * Speech Integration:: Outputting to a speech synthesizer.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 * Advanced Features:: Some of the more arcane features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 * More Help:: How to get more help---mailing lists,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 newsgroups, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 * Future Directions:: Plans for future revisions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 Appendices:
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
112 * Reporting Bugs:: How to report a bug in Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
113 * Dealing with Firewalls:: How to get around your firewall.
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
114 * Proxy Gateways:: Using a proxy gateway with Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
115 * Installing SSL:: Turning on @sc{ssl} support.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
116 * Mailcap Files:: An explanation of Mailcap files.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
117 * Down with DoubleClick:: Annoyed by advertisements? Read this!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 Indices:
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
120 * General Index:: General Index.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
121 * Key Index:: Menus of command keys and their references.
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
122 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
123 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
124
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
125 @node Getting Started, Basic Usage, Top, Top
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
126 @chapter Getting Started
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
127 @cindex Clueless in Seattle
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
128 @cindex Getting Started
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
129 @kindex M-x w3
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
130 @vindex w3-default-homepage
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
131 @findex w3
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
132 If installed correctly, starting Emacs/W3 is quite painless. Just type
110
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
133 @kbd{M-x w3} in a running Emacs session. This will retrieve the default
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
134 page that has been configured (@pxref{Preferences Panel}) - by default the
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
135 documentation for Emacs/W3 at Indiana University.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
137 If the default page is not retrieved correctly at startup, you will have
110
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
138 to do some customization (@pxref{Preferences Panel}).
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
139
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
140 Once started, you can use the mouse and the menu or use the following
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
141 key commands (for more commands and more detail, @pxref{Basic Usage, ,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
142 Basic Usage}).
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
143
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
144 @table @asis
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
145 @item move forward
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
146 press the space bar,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
147
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
148 @item move backwards
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
149 press the backspace key,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
150
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
151 @item move to the next HTML reference on the page
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
152 press the @kbd{TAB} key,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
153
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
154 @item move to the previous HTML reference on the page
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
155 press the @kbd{SHIFT} and @kbd{TAB} keys at the same time. If this does
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
156 not work (some text terminals cannot distinguish between @kbd{TAB} and
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
157 @kbd{SHIFT-TAB}, pressing the @kbd{ALT} and @kbd{TAB} keys should also
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
158 work.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
159
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
160 @item follow a link
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
161 put the cursor over it
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
162 and press the @kbd{RETURN} key, or @*
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
163 click the left mouse button on it,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
164
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
165 @item fetch a @sc{url}
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
166 press the @kbd{Control} and @kbd{o} keys at the same time,@*
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
167 type the @sc{url}, and then press the @kbd{RETURN} key,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
168
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
169 @item return to the last URL you were at
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
170 press the @kbd{l} key,
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
171
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
172 @item quit W3 mode
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
173 press the @kbd{q} key.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
174 @end table
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
175
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
176 @menu
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
177 * Downloading:: Where to download Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
178 * Building and Installing:: Compiling and installing from source.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
179 * Startup Files:: What is where, and why.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
180 * Preferences Panel:: Quick configuration of common options.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
181 @end menu
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
182
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
183 @node Downloading, Building and Installing, Getting Started, Getting Started
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
184 @section Downloading
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
185
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
186 :: WORK :: What you need, and why@*
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
187 :: WORK :: Where to download Emacs, XEmacs, various platforms@*
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
188 :: WORK :: Where to download Emacs/W3@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
189 :: WORK :: Where to download related utilities (netpbm, xv, gimp, etc.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
191 @node Building and Installing, Startup Files, Downloading, Getting Started
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
192 @section Building and Installing
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
193
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
194 :: WORK :: Document makefile variables@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
195 :: WORK :: Document what gets installed where, why
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
196
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
197 @node Startup Files, Preferences Panel, Building and Installing, Getting Started
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
198 @section Startup Files
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
199 @cindex Startup files
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
200 @cindex Default stylesheet
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
201
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
202 :: WORK :: startup files@*
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
203 This section should document where Emacs/W3 looks for its startup files,
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
204 and what each one does. 'profile' 'stylesheet' 'hotlist' 'history' etc.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
205
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
206 @node Preferences Panel, , Startup Files, Getting Started
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
207 @section Preferences Panel
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
208 @cindex Preferences
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
209 @kindex M-x w3-preferences-edit
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
210
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
211 :: WORK :: pref panel@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
212 This should document the quick preferences panel. M-x w3-preferences-edit
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
213
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
214 @node Basic Usage, Compatibility, Getting Started, Top
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
215 @chapter Basic Usage
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
216 @cindex Basic Usage
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
217 @kindex space
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
218 @kindex backspace
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
219 @kindex return
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
220 @kindex tab
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
221 @kindex M-tab
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
222 Emacs/W3 is similar to the Info package all Emacs users hold near and
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
223 dear to their hearts (@xref{Top,,Info,info, The Info Manual}, for a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
224 description of Info). Basically, @kbd{space} and @kbd{backspace}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
225 control scrolling, and @kbd{return} or the middle mouse button follows a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
226 hypertext link. The @kbd{tab} and @kbd{Meta-tab} keys maneuver around the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
227 various links on the page.
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
228
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
229 @b{NOTE:} Starting with Emacs/W3 3.0, form entry areas in a page can be
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
230 typed directly into. This is one of the main differences in navigation
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
231 from version 2.0. If you are used to using the @kbd{f} and @kbd{b} keys
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
232 to navigate around a buffer, I suggest training yourself to always use
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
233 @kbd{tab} and @kbd{M-tab} - it will save time and frustration on pages
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
234 with lots of form fields.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
236 By default, hypertext links are surrounded by '[[' and ']]' on
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
237 non-graphic terminals (VT100, DOS window, etc.). On a graphics
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
238 terminal, the links are in shown in different colors.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
239 @xref{Stylesheets} for information on how to change this.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
241 There are approximately 50 keys bound to special Emacs/W3 functions.
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
242 The basic rule of thumb regarding keybindings in Emacs/W3 is that a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 lowercase key takes an action on the @b{current document}, and an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 uppercase key takes an action on the document pointed to by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 hypertext link @b{under the cursor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 There are several areas that the keybindings fall into: movement,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 information, action, and miscellaneous.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
251 * Movement:: Moving around in the buffer.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
252 * Information:: Getting information about a document.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
253 * Action:: Following links, printing, etc.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
254 * Miscellaneous:: Everything else.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 @end menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
256
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 @node Movement, Information, Basic Usage, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @section Movement
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
259
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
260 All the standard Emacs bindings for movement are still in effect, with a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
261 few additions for convenience.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
262
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 @table @kbd
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
264 @findex w3-scroll-up
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
265 @kindex space
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
266 @item space
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 Scroll downward in the buffer. With prefix arg, scroll down that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 screenfuls.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
269 @kindex backspace
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 @findex scroll-down
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
271 @item backspace
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 Scroll upward in the buffer. With prefix arg, scroll up that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 screenfuls.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 @kindex <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 @findex w3-start-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 @item <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 Goes to the start of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 @kindex >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 @findex w3-end-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 Goes to the end of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 @kindex b
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
283 @kindex Meta-tab
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
284 @findex w3-widget-backward
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
285 @item Meta-tab, Shift-tab, b
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 Attempts to move backward one link area in the current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 Signals an error if no previous links are found.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
288 @kindex f
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
289 @kindex tab
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
290 @kindex n
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
291 @findex w3-widget-forward
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
292 @item tab, f, n
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
293 Attempts to move forward one link area in the current document. Signals
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
294 an error if no more links are found.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
295 @kindex B
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
296 @findex w3-backward-in-history
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
297 @item B
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
298 Move backwards in the history stack.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
299 @kindex F
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
300 @findex w3-forward-in-history
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
301 @item F
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
302 Move forwards in the history stack.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
303 @kindex l
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
304 @findex w3-goto-last-buffer
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
305 @item l
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
306 Return to the last buffer shown before this buffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
307 @kindex q
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
308 @findex w3-quit
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
309 @item q
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
310 Kill this buffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
311 @kindex Q, u
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
312 @findex w3-leave-buffer
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
313 @item Q, u
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
314 Bury this buffer, but don't kill it
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
315 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
316
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
317 @node Information, Action, Movement, Basic Usage
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
318 @section Information
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
319
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
320 These functions relate information about one or more links on the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
321 current document.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
322
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
323 @table @kbd
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
324 @kindex v
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
325 @findex url-view-url
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
326 @item v
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
327 This shows the @sc{url} of the current document in the minibuffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
328 @kindex V
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
329 @findex w3-view-this-url
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
330 @item V
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
331 This shows the @sc{url} of the hypertext link under point in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
332 minibuffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
333 @kindex i
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
334 @findex w3-document-information
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
335 @item i
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
336 Shows miscellaneous information about the currently displayed document.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
337 This includes the @sc{url}, the last modified date, @sc{mime} headers,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
338 the @sc{http} response code, and any relationships to other documents.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
339 Any security information is also displayed.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
340 @kindex I
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
341 @findex w3-document-information-this-url
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
342 @item I
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
343 Shows information about the @sc{url} at point.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
344 @kindex s
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
345 @findex w3-source-document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
346 @item s
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
347 This shows the @sc{html} source of the current document in a separate buffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
348 The buffer's name is based on the document's @sc{url}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
349 @kindex S
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
350 @findex w3-source-document-at-point
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
351 @item S
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
352 Shows the @sc{html} source of the hypertext link under point in a separate
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
353 buffer. The buffer's name is based on the document's @sc{url}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
354 @kindex k
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
355 @findex w3-save-url
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
356 @item k
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
357 This stores the current document's @sc{url} in the kill ring, and also in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
358 current window-system's clipboard, if possible.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
359 @kindex K
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
360 @findex w3-save-this-url
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
361 @item K
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
362 Stores the @sc{url} of the document under point in the kill ring, and also in
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
363 the current window-system's clipboard, if possible.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
364 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
365
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
366 @node Action, Miscellaneous, Information, Basic Usage
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
367 @section Action
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
368
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
369 First, here are the keys and functions that bring up a new hypertext
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
370 page, usually creating a new buffer.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
371 @table @kbd
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 Choose a link from the current buffer and follow it. A completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 is done on all the links, so @kbd{space} and @kbd{TAB} can be used for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 completion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 @kindex return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 @findex w3-follow-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 @item return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 Pressing return when over a hyperlink attempts to follow the link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 under the cursor. With a prefix argument (@kbd{C-u}), this forces the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 file to be saved to disk instead of being passed off to other viewers
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
384 or being parsed as @sc{html}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
386 Pressing return when over a form input field can cause auto-submission
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
387 of the form. This is for Mosaic and Netscape compatibility. If there
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
388 is only one item in the form other than submit or reset buttons, then
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
389
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 minibuffer for the data to insert into the input field. Type checking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 is done, and the data is only entered into the form when data of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 correct type is entered (ie: cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 @kindex Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 @findex w3-follow-mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 @item Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 Attempt to follow a hypertext link under the mouse cursor. Clicking on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 a form input field will prompt in the minibuffer for the data to insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 into the input field. Type checking is done, and the data is only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 entered into the form when data of the correct type is entered (ie:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 @kindex Control Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 @kindex Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 @findex w3-follow-inlined-image
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @item Control Middle Mouse Button, Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 Tries to retrieve the inlined image that is under point. It ignores any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 form entry areas or hyperlinks, and blindly follows any inlined image.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 Useful for seeing images that are meant to be used as hyperlinks when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 not on a terminal capable of displaying graphics.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 Prints out the current buffer in a variety of formats, including
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
416 PostScript, @sc{html} source, or formatted text.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 @item P
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
420 Prints out the @sc{url} under point in a variety of formats, including
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
421 PostScript, @sc{html} source, or formatted text.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 Selects a destination from a list of all the hyperlinks in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 buffer. Use @kbd{space} and @kbd{tab} to complete on the links.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 @kindex r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 @kindex g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 @findex w3-reload-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 @item r, g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 Reloads the current document. The position within the buffer remains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 the same (unless the document has changed since it was last retrieved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 in which case it should be relatively close). This causes an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 unconditional reload from the remote server - the locally cached copy is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 not consulted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 @kindex C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 @item C-o
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
440 Prompts for a @sc{url} in the minibuffer, and attempts to fetch
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
441 it. If there are any errors, or Emacs/W3 cannot understand the type of link
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 requested, the errors are displayed in a hypertext buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 @kindex o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 @findex w3-open-local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 @vindex url-use-hypertext-dired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 @item o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 Opens a local file, interactively. This prompts for a local file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 to open. The file must exist, and may be a directory. If the requested
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 file is a directory and @code{url-use-hypertext-dired} is @code{nil},
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
450 then a dired-mode buffer is displayed. If non@code{nil}, then Emacs/W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 automatically generates a hypertext listing of the directory. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 hypertext mode is the default, so that all the keys and functions remain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 the same.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 @kindex M-s
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
456 @findex w3-save-as
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @item M-s
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
458 Save a document to the local disk as HTML Source, Formatted Text, LaTeX
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
459 Source, or Binary.
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
460
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 @kindex Hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 @findex w3-show-history-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 @vindex w3-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 @item Hv
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
465 If @code{url-keep-history} is non-@code{nil}, then Emacs/W3 keeps track
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
466 of all the @sc{url}s visited in an Emacs session. This function takes all
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 the links that are in that internal list, and formats them as hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 links in a list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 @cindex Buffer movement
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
472 And here are the commands to move around between Emacs/W3 buffers:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 @kindex l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 @findex w3-goto-last-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 Goes to the last WWW buffer seen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 @kindex q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 @findex w3-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 @item q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 Quits WWW mode. This kills the current buffer and goes to the most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 recently visited buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 @kindex Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 @findex w3-leave-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 This is similar to w3-quit, but the buffer is not killed, it is moved to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 the bottom of the buffer list (so it is the least likely to show up as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 the default with switch-to-buffer). This is different from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 @code{w3-goto-last-buffer} in that it does not return to the last WWW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 page visited - it is the same as using @code{switch-to-buffer} - the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 buffer left in the window is fairly random.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 @kindex HB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 @kindex B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 @item HB, B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 Takes one step back along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 effect if at the beginning of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @kindex HF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 @kindex F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 @item HF, F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 Takes one step forward along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 effect if at the end of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
507 @node Miscellaneous, , Action, Basic Usage
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 @section Miscellaneous
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
509
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 @kindex M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 @findex w3-mail-current-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 @item M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 Mails the current document to someone. Choose from several different
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
515 formats to mail: formatted text, @sc{html} source, PostScript, or LaTeX source.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
516 When the @sc{html} source is mailed, then an appropriate <base> tag is inserted
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 at the beginning of the document so that relative links may be followed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 correctly by whoever receives the mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 @kindex M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 @findex w3-mail-document-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 @item M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 Mails the document pointed to by the hypertext link under point to someone.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
523 Choose from several different formats to mail: formatted text, @sc{html} source,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
524 PostScript, or LaTeX source. When the @sc{html} source is mailed, then an
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 appropriate <base> tag is inserted at the beginning of the document so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 relative links may be followed correctly by whoever receives the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 Prints the current document. Choose from several different formats to
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
532 print: formatted text, @sc{html} source, PostScript (with ps-print), or by using
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 LaTeX and dvips).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 @findex lpr-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 @vindex lpr-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 @vindex lpr-switches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 When the formatted text is printed, the normal @code{lpr-buffer} function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 is called, and the variables @code{lpr-command} and @code{lpr-switches}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 control how the document is printed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
542 When the @sc{html} source is printed, then an appropriate <base> tag is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 inserted at the beginning of the document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 @vindex w3-print-commnad
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 @vindex w3-latex-docstyle
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
546 When postscript is printed, then the @sc{html} source of the document is
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
547 converted into LaTeX source. There are several variables controlling
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
548 what the final LaTeX document looks like.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
549
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
550 :: WORK :: Document the new LaTeX backend
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
551
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
552 @table @code
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
553 @item w3-latex-use-latex2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
554 @vindex w3-latex-use-latex2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
555 If non-@code{nil}, configures the LaTeX engine to use the LaTeX2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
556 syntax. A @code{nil} value indicates that LaTeX 2.0.9 compabibility
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
557 will be used instead.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
558 @item w3-latex-docstyle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
559 @vindex w3-latex-docstyle
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
560 The document style to use when printing or mailing converted @sc{html} files
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
561 in LaTeX. Good defaults are: @{article@}, [psfig,twocolumn]@{article@},
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
562 etc.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
563 @item w3-latex-packages
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
564 @vindex w3-latex-packages
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
565 List of LaTeX packages to include. Currently this is only used if
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
566 @code{w3-latex-use-latex2e} is non-@code{nil}.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
567 @item w3-latex-use-maketitle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
568 @vindex w3-latex-use-maketitle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
569 If non-@code{nil}, the LaTeX engine will use real LaTeX title pages for
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
570 document titles.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
571 @item w3-latex-print-links
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
572 @vindex w3-latex-print-links
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
573 If non-@code{nil}, prints the @sc{url}s of hypertext links as endnotes at the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
574 end of the document. If set to @code{footnote}, prints the @sc{url}'s as
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
575 footnotes on each page.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
576 @end table
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
577
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 Prints the document pointed to by the hypertext link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 Please see the previous item for more information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 @kindex M-x w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 @findex w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 @item M-x w3-insert-formatted-url
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
586 Insert a fully formatted @sc{html} link into another buffer. This gets the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
587 name and @sc{url} of either the current buffer, or, with a prefix arg, of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 link under point, and construct the appropriate <a...>...</a> markup and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 insert it into the desired buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 @kindex M-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 @findex w3-insert-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 @item M-tab
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
593 Inserts the @sc{url} of the current document into another buffer. Buffer is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
594 prompted for in the minibuffer. With prefix arg, uses the @sc{url} of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 @kindex U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 @findex w3-use-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 Selects one of the <LINK> tags from this document and fetch it. Links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 are attributes of a specific document, and can tell such things as who
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 made the document, where a table of contents is located, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 Link tags specify relationships between documents in two ways. Normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 (forward) relationships (where the link has a REL="xxx" attribute), and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 reverse relationships (where the link has a REV="xxx" attribute). This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 first asks what type of link to follow (Normal or Reverse), then does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 a @code{completing-read} on only the links that have that type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 relationship.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
611 @node Compatibility, Stylesheets, Basic Usage, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 @chapter Compatibility with other Browsers
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
613 Due to the popularity of several other browsers, Emacs/W3 offers an easy
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 transition to its much better way of life. This ranges from being able
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 to share the same preferences files and disk cache to actually emulating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 the keybindings used in other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 @menu
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
619 * Emulation:: Emacs/W3 can emulate the keybindings and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 other behaviours of other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 * Hotlist Handling:: A hotlist is an easy way to keep track of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 interesting Web pages without having to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 remember the exact path to get there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 * Session History:: Keeping a history of documents visited
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 in one Emacs sessions allows the use of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 'forward' and 'back' buttons easily.
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
627 * Global History:: Keeping a history of all the places ever
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 visited on the web.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 @end menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
630
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 @node Emulation, Hotlist Handling, Compatibility, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 @section Emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 @cindex Browser emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 @cindex Emulation of other browsers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 @cindex Netscape emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 @cindex Lynx emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 @findex turn-on-netscape-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 @findex turn-on-lynx-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 @findex w3-netscape-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 @findex w3-lynx-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 @vindex w3-mode-hook
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
642
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
643 :: WORK :: Document lynx emulation@*
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
644 @table @kbd
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
645 @item Down arrow
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
646 Highlight next topic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
647 @item Up arrow
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
648 Highlight previous topic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
649 @item Right arrow, Return, Enter
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
650 Jump to highlighted topic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
651 @item Left arrow
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
652 Return to previous topic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
653 @item +
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
654 Scroll down to next page (Page-Down)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
655 @item -
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
656 Scroll up to previous page (Page-Up)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
657 @item SPACE
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
658 Scroll down to next page (Page-Down)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
659 @item b
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
660 Scroll up to previous page (Page-Up)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
661 @item C-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
662 Go to first page of the current document (Home)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
663 @item C-E
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
664 Go to last page of the current document (End)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
665 @item C-B
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
666 Scroll up to previous page (Page-Up)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
667 @item C-F
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
668 Scroll down to next page (Page-Down)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
669 @item C-N
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
670 Go forward two lines in the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
671 @item C-P
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
672 Go back two lines in the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
673 @item )
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
674 Go forward half a page in the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
675 @item (
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
676 Go back half a page in the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
677 @item #
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
678 Go to Toolbar or Banner in the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
679 @item ?, h
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
680 Help (this screen)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
681 @item a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
682 Add the current link to a bookmark file
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
683 @item c
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
684 Send a comment to the document owner
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
685 @item d
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
686 Download the current link
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
687 @item e
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
688 Edit the current file
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
689 @item g
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
690 Goto a user specified @sc{url} or file
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
691 @item i
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
692 Show an index of documents
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
693 @item j
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
694 Execute a jump operation
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
695 @item k
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
696 Show a list of key mappings
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
697 @item l
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
698 List references (links) in current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
699 @item m
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
700 Return to main screen
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
701 @item o
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
702 Set your options
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
703 @item p
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
704 Print the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
705 @item q
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
706 Quit
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
707 @item /
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
708 Search for a string within the current document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
709 @item s
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
710 Enter a search string for an external search
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
711 @item n
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
712 Go to the next search string
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
713 @item v
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
714 View a bookmark file
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
715 @item V
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
716 Go to the Visited Links Page
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
717 @item x
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
718 Force submission of form or link with no-cache
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
719 @item z
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
720 Cancel transfer in progress
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
721 @item [backspace]
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
722 Go to the history Page
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
723 @item =
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
724 Show file and link info
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
725 @item \
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
726 Toggle document source/rendered view
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
727 @item !
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
728 Spawn your default shell
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
729 @item *
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
730 Toggle image_links mode on and off
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
731 @item [
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
732 Toggle pseudo_inlines mode on and off
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
733 @item ]
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
734 Send an @sc{http} @sc{head} request for the current doc or link
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
735 @item C-R
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
736 Reload current file and refresh the screen
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
737 @item C-W
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
738 Refresh the screen
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
739 @item C-U
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
740 Erase input line
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
741 @item C-G
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
742 Cancel input or transfer
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
743 @item C-T
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
744 Toggle trace mode on and off
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
745 @item C-K
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
746 Invoke the Cookie Jar Page
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
747 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
748
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
749 :: WORK :: Document netscape emulation@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
750 Uh, turn this into pretty tables about what keys are emulated.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
751
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
752 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
753 (define-key w3-netscape-emulation-minor-mode-map "\M-s" 'w3-save-as)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
754 (define-key w3-netscape-emulation-minor-mode-map "\M-m" 'w3-mailto)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
755 (define-key w3-netscape-emulation-minor-mode-map "\M-n" 'make-frame)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
756 (define-key w3-netscape-emulation-minor-mode-map "\M-l" 'w3-fetch)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
757 (define-key w3-netscape-emulation-minor-mode-map "\M-o" 'w3-open-local)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
758 (define-key w3-netscape-emulation-minor-mode-map "\M-p" 'w3-print-this-url)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
759 (define-key w3-netscape-emulation-minor-mode-map "\M-q" 'w3-quit)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
760 (define-key w3-netscape-emulation-minor-mode-map "\M-f" 'w3-search-forward)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
761 (define-key w3-netscape-emulation-minor-mode-map "\M-g" 'w3-search-again)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
762 (define-key w3-netscape-emulation-minor-mode-map "\M-r" 'w3-reload-document)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
763 (define-key w3-netscape-emulation-minor-mode-map "\M-i" 'w3-load-delayed-images)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
764 (define-key w3-netscape-emulation-minor-mode-map "\M-a" 'w3-hotlist-add-document)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
765 (define-key w3-netscape-emulation-minor-mode-map "\M-b" 'w3-show-hotlist)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
766 (define-key w3-netscape-emulation-minor-mode-map "\M-h" 'w3-show-history-list)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
767
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
768 @end example
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
769
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 @node Hotlist Handling, Session History, Emulation, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 @section Hotlist Handling
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
772
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
773 :: WORK :: Document that it supports different types of hotlist formats@*
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
774 :: WORK :: Make sure everything hotlist related can be accessed via 'h'@*
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 In order to avoid having to traverse many documents to get to the same
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
776 document over and over, Emacs/W3 supports a ``hotlist'' like Mosaic. This is
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
777 a file that contains @sc{url}s and aliases. Hotlists allow quick access to any
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 document in the Web, providing it has been visited and added to the hotlist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 The variable @code{w3-hotlist-file} determines where this information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 is saved. The structure of the file is compatible with Mosaic's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 hotlist file, so this defaults to @file{~/.mosaic-hotlist-default}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 Hotlist commands are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 @kindex hi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @findex w3-hotlist-add-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 Adds the current document to the hotlist, with the buffer name as its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 identifier. Modifies the file specified by @code{w3-hotlist-file}. If
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
791 this is given a prefix-argument (via @kbd{C-u}), the title is prompted
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
792 for instead of automatically defaulting to the document title.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 @findex w3-hotlist-refresh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 @kindex hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 @item hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 This rereads the default hostlist file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 @findex w3-hotlist-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 @kindex hd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 @item d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 Prompts for the alias of the entry to kill. Pressing the spacebar or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 tab will list out partial completions. The internal representation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 the hotlist and the file specified by @code{w3-hotlist-file} are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 updated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 @item hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 @kindex hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 @findex w3-hotlist-rename-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 Some hotlist item names can be very unwieldy (`Mosaic for X level 2 fill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 out form support'), or uninformative (`Index of /'). Prompts for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 item to rename in the minibuffer---use the spacebar or tab key for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 completion. After having chosen an item to rename, prompts for a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 title until a unique title is entered. Modifies the file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @item hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 @kindex hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 @findex w3-use-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 Prompts for the alias to jump to. Pressing the @key{spacebar} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 @key{tab} key shows partial completions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 @item hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 @kindex hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 @findex w3-show-hotlist
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
828 Converts the hotlist into @sc{html} and displays it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 @item ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 @kindex ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 @findex w3-hotlist-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 Shows the hotlist entries matching a regular expression.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @item hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 @kindex hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 @findex w3-hotlist-append
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 Appends another hotlist file to the one currently in memory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 @node Session History, Global History, Hotlist Handling, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 @section History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 @cindex History Lists
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
841
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
842 Almost all web browsers keep track of the @sc{url}s followed from a page, so
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843 that it can provide @b{forward} and @b{back} buttons to keep a @i{path}
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
844 of @sc{url}s that can be traversed easily.
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
845
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 @vindex url-keep-history
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
847 If the variable @code{url-keep-history} is @code{t}, then Emacs/W3
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
848 keeps a list of all the @sc{url}s visited in a session.
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
849
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 @findex w3-show-history
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
851 To view a listing of the history for this session of Emacs/W3, use
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
852 @code{M-x w3-show-history} from any buffer, and Emacs/W3 generates an
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
853 @sc{html} document showing every @sc{url} visited since Emacs started (or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 cleared the history list), and then format it. Any of the links can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 be chosen and followed to the original document. To clear the history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 list, choose 'Clear History' from the 'Options' menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 Another twist on the history list mechanism is the fact that all
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
862 Emacs/W3 buffers remember what @sc{url}, buffer, and buffer position of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 last document, and also keeps track of the next location jumped @b{to}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 from that buffer. This means that the user can go forwards and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865 backwards very easily along the path taken to reach a particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 document. To go forward, use the function @code{w3-forward-in-history},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 to go backward, use the function @code{w3-backward-in-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
869 @node Global History, , Session History, Compatibility
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 @section Global History
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
871
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
872 :: WORK :: Document that the global history can have diff. formats@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
873 Most web browsers also support the idea of a ``history'' of @sc{url}s the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 user has visited, and it displays them in a different style than normal
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
875 @sc{url}s.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 @vindex url-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 @vindex url-global-history-file
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
879 If the variable @code{url-keep-history} is @code{t}, then Emacs/W3
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
880 keeps a list of all the @sc{url}s visited in a session. The file is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 automatically written to disk when exiting emacs. The list is added to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 those already in the file specified by @code{url-global-history-file},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 which defaults to @file{~/.mosaic-global-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
885 If any @sc{url} in the list is found in the file, it is not saved, but new
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 ones are added at the end of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 The function that saves the global history list is smart enough to
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
889 notice what style of history list is being used (Netscape, Emacs/W3, or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 XMosaic), and writes out the new additions appropriately.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 @cindex Completion of URLs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @cindex Usefulness of global history
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
894 One of the nice things about keeping a global history files is that Emacs/W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 can use it as a completion table. When doing @kbd{M-x w3-fetch}, pressing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 the @kbd{tab} or @kbd{space} key will show all completions for a
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
897 partial @sc{url}. This is very useful, especially for very long @sc{url}s that
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 are not in a hotlist, or for seeing all the pages from a particular web
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 site before choosing which to retrieve.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
901 @node Stylesheets, Supported URLs, Compatibility, Top
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
902 @chapter Stylesheets
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
903 The way in which Emacs/W3 formats a document is very customizable. All
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
904 formatting is now controlled by a default stylesheet set by the user
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
905 with the @code{w3-default-stylesheet} variable. Emacs/W3 currently
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
906 supports the @sc{W3C} recommendation for Cascading Style Sheets, Level 1
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
907 (commonly known as @sc{CSS1}) with a few experimental items from other
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
908 W3C proposals. Wherever Emacs/W3 diverges from the specification, it
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
909 will be clearly documented, and will be changed once a full standard is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
910 available.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
911
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
912 Support for @sc{DSSSL} is progressing, but spare time is at an all-time
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
913 low. If anyone would like to help, please contact the author.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
915 The following sections closely parallel the @sc{CSS1} specification so
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
916 it should be very easy to look up what Emacs/W3 supports when browsing
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
917 through the @sc{CSS1} specification. Please note that a lot of the text
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
918 in the following sections comes directly from the specification as
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
919 well.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
921 @menu
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
922 * Terminology:: Terms used in the rest of this chapter.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
923 * Basic Concepts:: Why are stylesheets useful? Getting started.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
924 * Pseudo-Classes/Elements:: Special classes for elements.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
925 * The Cascade:: How stylesheets are combined.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
926 * Properties:: What properties you can set on elements.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
927 * Units:: What you can set them to.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
928 @end menu
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
929
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
930 @node Terminology, Basic Concepts, Stylesheets, Stylesheets
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
931 @section Terminology
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
933 @table @dfn
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
934 @item attribute
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
935 HTML attribute, ie: @samp{align=center} - align is the attribute.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
936 @item author
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
937 The author of an HTML document.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
938 @item block-level element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
939 An element which has a line break before and after (e.g. 'H1' in @sc{HTML}).
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
940 @item canvas
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
941 The part of the UA's drawing surface onto which documents are rendered.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
942 @item child element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
943 A subelement in @sc{sgml} terminology.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
944 @item contextual selector
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
945 A selector that matches elements based on their position in the document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
946 structure. A contextual selector consists of several simple
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
947 selectors. E.g., the contextual selector 'H1.initial B' consists of two
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
948 simple selectors, 'H1.initial' and 'B'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
949 @item @sc{css}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
950 Cascading Style Sheets.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
951 @item declaration
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
952 A property (e.g. 'font-size') and a corresponding value (e.g. '12pt').
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
953 @item designer
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
954 The designer of a style sheet.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
955 @item document
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
956 @sc{html} document.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
957 @item element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
958 @sc{html} element.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
959 @item element type
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
960 A generic identifier in @sc{sgml} terminology.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
961 @item fictional tag sequence
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
962 A tool for describing the behavior of pseudo-classes and pseudo-elements.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
963 @item font size
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
964 The size for which a font is designed. Typically, the size of a font is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
965 approximately equal to the distance from the bottom of the lowest letter
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
966 with a descender to the top of the tallest letter with an ascender and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
967 (optionally) with a diacritical mark.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
968 @item @sc{html} extension
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
969 Markup introduced by UA vendors, most often to support certain visual
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
970 effects. The @sc{font}, @sc{center} and @sc{blink} elements are examples
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
971 of HTML extensions, as is the @sc{bgcolor} attribute. One of the goals
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
972 of @sc{css} is to provide an alternative to @sc{html} extensions.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
973 @item inline element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
974 An element which does not have a line break before and after
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
975 (e.g. '@sc{strong}' in @sc{html})
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
976 @item intrinsic dimensions
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
977 The width and height as defined by the element itself, not imposed by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
978 the surroundings. In this specification it is assumed that all replaced
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
979 elements -- and only replaced elements -- come with intrinsic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
980 dimensions.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
981 @item parent element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
982 The containing element in @sc{sgml} terminology.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
983 @item pseudo-element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
984 Pseudo-elements are used in @sc{css} selectors to address typographical
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
985 items (e.g. the first line of an element) rather than structural
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
986 elements.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
987 @item pseudo-class
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
988 Pseudo-classes are used in @sc{css} selectors to allow information
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
989 external to the @sc{html} source (e.g. the fact that an anchor has been
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
990 visited or not) to classify elements.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
991 @item property
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
992 A stylistic parameter that can be influenced through @sc{css}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
993 @item reader
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
994 The person for whom the document is rendered.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
995 @item replaced element
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
996 An element that the @sc{css} formatter only knows the intrinsic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
997 dimensions of. In @sc{html}, @sc{img}, @sc{input}, @sc{textarea},
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
998 @sc{select} and @sc{object} elements can be examples of replaced
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
999 elements. E.g., the content of the @sc{img} element is often replaced by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1000 the image that the @sc{src} attribute points to. @sc{css1} does not
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1001 define how the intrinsic dimensions are found.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1002 @item rule
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1003 A declaration (e.g. 'font-family: helvetica') and its selector
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1004 (e.g. @sc{'H1'}).
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1005 @item selector
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1006 A string that identifies what elements the corresponding rule applies
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1007 to. A selector can either be a simple selector (e.g. 'H1') or a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1008 contextual selector (e.g. @sc{'h1 b'}) which consists of several simple
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1009 selectors.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1010 @item @sc{sgml}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1011 Standard Generalized Markup Language, of which @sc{html} is an
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1012 application.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1013 @item simple selector
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1014 A selector that matches elements based on the element type and/or
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
1015 attributes, and not the element's position in the document
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1016 structure. E.g., 'H1.initial' is a simple selector.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1017 @item style sheet
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1018 A collection of rules.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1019 @item @sc{ua}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1020 User Agent, often a web browser or web client.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1021 @item user
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1022 Synonymous with reader.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1023 @item weight
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1024 The priority of a rule.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1025 @end table
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1026
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1027 @node Basic Concepts, Pseudo-Classes/Elements, Terminology, Stylesheets
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1028 @section Basic Concepts
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1029
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1030 Designing simple style sheets is easy. One needs only to know a little
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1031 HTML and some basic desktop publishing terminology. E.g., to set the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1032 text color of 'H1' elements to blue, one can say:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1033
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1034 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1035 H1 @{ color: blue @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1036 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1037
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1038 The example above is a simple CSS rule. A rule consists of two main
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1039 parts: selector ('H1') and declaration ('color: blue'). The declaration
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1040 has two parts: property ('color') and value ('blue'). While the example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1041 above tries to influence only one of the properties needed for rendering
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1042 an HTML document, it qualifies as a style sheet on its own. Combined
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1043 with other style sheets (one fundamental feature of CSS is that style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1044 sheets are combined) it will determine the final presentation of the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1045 document.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1046
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1047 The selector is the link between the HTML document and the style sheet, and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1048 all HTML element types are possible selectors.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1049
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1050 @node Pseudo-Classes/Elements, The Cascade, Basic Concepts, Stylesheets
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1051 @section Pseudo-Classes/Elements
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1052
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1053 In @sc{css1}, style is normally attached to an element based on its
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1054 position in the document structure. This simple model is sufficient for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1055 a wide variety of styles, but doesn't cover some common effects. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1056 concept of pseudo-classes and pseudo-elements extend addressing in
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1057 @sc{css1} to allow external information to influence the formatting
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1058 process.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1059
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1060 Pseudo-classes and pseudo-elements can be used in @sc{css} selectors,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1061 but do not exist in the @sc{html} source. Rather, they are "inserted" by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1062 the @sc{ua} under certain conditions to be used for addressing in style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1063 sheets. They are referred to as "classes" and "elements" since this is a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1064 convenient way of describing their behavior. More specifically, their
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1065 behavior is defined by a fictional tag sequence.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1066
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1067 Pseudo-elements are used to address sub-parts of elements, while
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1068 pseudo-classes allow style sheets to differentiate between different
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1069 element types.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1070
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1071 The only support pseudo-classes in Emacs/W3 are on the anchor tag
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1072 (<a>...</a>).
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1073
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1074 User agents commonly display newly visited anchors differently from
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1075 older ones. In @sc{css1}, this is handled through pseudo-classes on the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1076 'A' element:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1077
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1078 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1079 A:link @{ color: red @} /* unvisited link */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1080 A:visited @{ color: blue @} /* visited links */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1081 A:active @{ color: lime @} /* active links */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1082 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1083
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1084 All 'A' elements with an 'HREF' attribute will be put into one and only
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1085 one of these groups (i.e. target anchors are not affected). UAs may
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1086 choose to move an element from 'visited' to 'link' after a certain
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1087 time. An 'active' link is one that is currently being selected (e.g. by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1088 a mouse button press) by the reader.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1089
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1090 The formatting of an anchor pseudo-class is as if the class had been
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1091 inserted manually. A @sc{ua} is not required to reformat a currently
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1092 displayed document due to anchor pseudo-class transitions. E.g., a style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1093 sheet can legally specify that the 'font-size' of an 'active' link
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1094 should be larger that a 'visited' link, but the UA is not required to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1095 dynamically reformat the document when the reader selects the 'visited'
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1096 link.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1097
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1098 Pseudo-class selectors do not match normal classes, and vice versa. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1099 style rule in the example below will therefore not have any influence:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1100
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1101 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1102 A:link @{ color: red @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1103
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1104 <A CLASS=link NAME=target5> ... </A>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1105 @end example
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1107 In @sc{css1}, anchor pseudo-classes have no effect on elements other
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1108 than 'A'. Therefore, the element type can be omitted from the selector:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1109
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1110 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1111 A:link @{ color: red @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1112 :link @{ color: red @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1113 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1114
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1115 The two selectors above will select the same elements in CSS1.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1116
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1117 Pseudo-class names are case-insensitive.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1118
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1119 Pseudo-classes can be used in contextual selectors:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1120
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1121 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1122 A:link IMG @{ border: solid blue @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1123 @end example
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1124
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1125 Also, pseudo-classes can be combined with normal classes:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1126
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1127 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1128 A.external:visited @{ color: blue @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1129
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1130 <A CLASS=external HREF="http://out.side/">external link</A>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1131 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1132
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1133 If the link in the above example has been visited, it will be rendered
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1134 in blue. Note that normal class names precede pseudo-classes in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1135 selector.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1136
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1137 @node The Cascade, Properties, Pseudo-Classes/Elements, Stylesheets
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1138 @section The Cascade
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1139
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1140 In @sc{css}, more than one style sheet can influence the presentation
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1141 simultaneously. There are two main reasons for this feature: modularity
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1142 and author/reader balance.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1143
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1144 @table @i
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1145 @item modularity
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1146 A style sheet designer can combine several (partial) style sheets to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1147 reduce redundancy:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1148
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1149 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1150 @@import url(http://www.style.org/pastoral);
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1151 @@import url(http://www.style.org/marine);
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1153 H1 @{ color: red @} /* override imported sheets */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1154 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1155 @item author/reader balance
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1156 Both readers and authors can influence the presentation through style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1157 sheets. To do so, they use the same style sheet language thus reflecting
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1158 a fundamental feature of the web: everyone can become a publisher. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1159 @sc{ua} is free to choose the mechanism for referencing personal style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1160 sheets.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1161 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1162
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1163 Sometimes conflicts will arise between the style sheets that influence
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1164 the presentation. Conflict resolution is based on each style rule having
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1165 a weight. By default, the weights of the reader's rules are less than
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1166 the weights of rules in the author's documents. I.e., if there are
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1167 conflicts between the style sheets of an incoming document and the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1168 reader's personal sheets, the author's rules will be used. Both reader
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1169 and author rules override the @sc{ua}'s default values.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1170
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1171 The imported style sheets also cascade with each other, in the order
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1172 they are imported, according to the cascading rules defined below. Any
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1173 rules specified in the style sheet itself override rules in imported
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1174 style sheets. That is, imported style sheets are lower in the cascading
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1175 order than rules in the style sheet itself. Imported style sheets can
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1176 themselves import and override other style sheets, recursively.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1177
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1178 In @sc{css1}, all '@@import' statements must occur at the start of a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1179 style sheet, before any declarations. This makes it easy to see that
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1180 rules in the style sheet itself override rules in the imported style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1181 sheets.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1182
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1183 NOTE: The use of !important in @sc{css} stylesheets is unsupported at
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1184 this time.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1185
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1186 Conflicting rules are intrinsic to the CSS mechanism. To find the value
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1187 for an element/property combination, the following algorithm must be
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1188 followed:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1192 Find all declarations that apply to the element/property in
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1193 question. Declarations apply if the selector matches the element in
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1194 question. If no declarations apply, the inherited value is used. If
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1195 there is no inherited value (this is the case for the 'HTML' element and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1196 for properties that do not inherit), the initial value is used.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1197 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1198 Sort the declarations by explicit weight: declarations marked
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1199 '!important' carry more weight than unmarked (normal) declarations.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1201 Sort by origin: the author's style sheets override the reader's style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1202 sheet which override the UA's default values. An imported style sheet
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1203 has the same origin as the style sheet from which it is imported.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1205 Sort by specificity of selector: more specific selectors will override
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1206 more general ones. To find the specificity, count the number of ID
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1207 attributes in the selector (a), the number of CLASS attributes in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1208 selector (b), and the number of tag names in the selector
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1209 (c). Concatenating the three numbers (in a number system with a large
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1210 base) gives the specificity. Some examples:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1211 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1212 LI @{...@} /* a=0 b=0 c=1 -> specificity = 1 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1213 UL LI @{...@} /* a=0 b=0 c=2 -> specificity = 2 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1214 UL OL LI @{...@} /* a=0 b=0 c=3 -> specificity = 3 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1215 LI.red @{...@} /* a=0 b=1 c=1 -> specificity = 11 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1216 UL OL LI.red @{...@} /* a=0 b=1 c=3 -> specificity = 13 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1217 #x34y @{...@} /* a=1 b=0 c=0 -> specificity = 100 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1218 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1219 Pseudo-elements and pseudo-classes are counted as normal elements and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1220 classes, respectively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1222 Sort by order specified: if two rules have the same weight, the latter
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1223 specified wins. Rules in imported style sheets are considered to be
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1224 before any rules in the style sheet itself.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1227 The search for the property value can be terminated whenever one rule
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1228 has a higher weight than the other rules that apply to the same
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1229 element/property combination.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1230
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1231 This strategy gives author's style sheets considerably higher weight
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1232 than those of the reader. It is therefore important that the reader has
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1233 the ability to turn off the influence of a certain style sheet,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1234 e.g. through a pull-down menu.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1235
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1236 A declaration in the 'STYLE' attribute of an element has the same weight
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1237 as a declaration with an ID-based selector that is specified at the end
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1238 of the style sheet:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1239
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1240 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1241 <STYLE TYPE="text/css">
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1242 #x97z @{ color: blue @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1243 </STYLE>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1244
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1245 <P ID=x97z STYLE="color: red">
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1246 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1247
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1248 In the above example, the color of the 'P' element would be
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1249 red. Although the specificity is the same for both declarations, the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1250 declaration in the 'STYLE' attribute will override the one in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1251 'STYLE' element because of cascading rule number 5.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1252
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1253 The @sc{ua} may choose to honor other stylistic @sc{html} attributes,
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1254 for example 'ALIGN'. If so, these attributes are translated to the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1255 corresponding @sc{css} rules with specificity equal to 1. The rules are
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1256 assumed to be at the start of the author style sheet and may be
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1257 overridden by subsequent style sheet rules. In a transition phase, this
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1258 policy will make it easier for stylistic attributes to coexist with
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1259 style sheets.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1260
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1261 @node Properties, Units, The Cascade, Stylesheets
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1262 @section Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1263
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1264 In the text below, the allowed values for each property are listed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1265 with a syntax like the following:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1266
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1267 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1268 Value: N | NW | NE
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1269 Value: [ <length> | thick | thin ]@{1,4@}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1270 Value: <uri>? <color> [ / <color> ]?
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1271 Value: <uri> || <color>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1272 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1273
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1274 The words between < and > give a type of value. The most common types
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1275 are <length>, <percentage>, <url>, <number>and <color> these are
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1276 described in the section on [[units]]. The more specialized types
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1277 (e.g. <font-family>and <border-style>) are described under the property
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1278 where they appear.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1279
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1280 Other words are keywords that must appear literally, without quotes. The
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1281 slash (/) and the comma (,) must also appear literally.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1282
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1283 Several things juxtaposed mean that all of them must occur, in the given
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1284 order. A bar (|) separates alternatives: one of them must occur. A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1285 double bar (A || B) means that either A or B or both must occur, in any
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1286 order. Brackets ([]) are for grouping. Juxtaposition is stronger than
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1287 the double bar, and the double bar is stronger than the bar. Thus "a b |
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1288 c || d e" is equivalent to "[ a b ] | [ c || [ d e ]]".
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1289
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1290 Every type, keyword, or bracketed group may be followed by one of the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1291 following modifiers:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1292
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1293 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1294 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1295 An asterisk (*) indicates that the preceding type, word or group is
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1296 repeated zero or more times.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1297 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1298 A plus (+) indicates that the preceding type, word or group is repeated
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1299 one or more times.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1300 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1301 A question mark (?) indicates that the preceding type, word or group is
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1302 optional.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1303 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1304 A pair of numbers in curly braces (@{A,B@}) indicates that the preceding
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1305 type, word or group is repeated at least A and at most B times.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1306 @end itemize
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1307
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1308 Other than the value the following information is also shown.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1309
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1310 @multitable @columnfractions .20 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1311 @item Supported Values: @tab If this is present, it lists the parts of
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1312 the specification that Emacs/W3 currently supports.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1313 @item Unsupported Values: @tab If this is present, it represents the
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1314 parts of the specifcation that Emacs/W3 does not support.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1315 @item Initial: @tab The default value for the property, unless
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1316 explicitly set in a stylesheet.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1317 @item Applies to: @tab What type of elements this property can be attached to.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1318 @item Inherited: @tab Yes or no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1319 @item Percentage values: @tab What a percentage value applies to when given.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1320 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1321
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1322 @menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1323 * Font Properties:: Selecting fonts, styles, and sizes.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1324 * Colors and Backgrounds:: Controlling colors, front and back.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1325 * Text Properties:: Alignment, decoration, and more!
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1326 * Box Properties:: Borders, padding, and margins, oh my!
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1327 * Classification:: Changing whitespace and display policies.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1328 * Media Selection:: Conditionalize stylesheets on media-type.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1329 * Speech Properties:: Speech output controlled by stylesheets.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1330 @end menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1331
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1332 @node Font Properties, Colors and Backgrounds, Properties, Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1333 @subsection Font Properties
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1334
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1335 Setting font properties will be among the most common uses of style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1336 sheets. Unfortunately, there exists no well-defined and universally
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1337 accepted taxonomy for classifying fonts, and terms that apply to one
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1338 font family may not be appropriate for others. E.g. 'italic' is commonly
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1339 used to label slanted text, but slanted text may also be labeled as
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1340 being @b{Oblique}, @b{Slanted}, @b{Incline}, @b{Cursive} or
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1341 @b{Kursiv}. Therefore it is not a simple problem to map typical font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1342 selection properties to a specific font.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1343
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1344 The properties defined by CSS1 are described in the following sections.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1345 @menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1346 * font-family:: Groups of fonts.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1347 * font-style:: Normal, italic, or oblique?
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1348 * font-variant:: Small-caps, etc.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1349 * font-weight:: How bold can you go?
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1350 * font-size:: How big is yours?
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1351 * font:: Shorthand for all of the above.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1352 @end menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1353
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1354 @node font-family, font-style, Font Properties, Font Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1355 @subsubsection font-family
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1356
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1357 @multitable @columnfractions .20 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1358 @item Supported Values: @tab [[<family-name> | <generic-family>],]* [<family-name> | <generic-family>]
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1359 @item Initial: @tab User specific
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1360 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1361 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1362 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1363 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1364 The value is a prioritized list of font family names and/or generic
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1365 family names. Unlike most other CSS1 properties, values are separated
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1366 by a comma to indicate that they are alternatives:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1367
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1368 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1369 BODY @{ font-family: gill, helvetica, sans-serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1370 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1371
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1372 There are two types of list values:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1373
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1374 @table @b
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1375 @item <family-name>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1376 The name of a font family of choice. In the last example, "gill" and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1377 "helvetica" are font families.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1378 @item <generic-family>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1379 In the example above, the last value is a generic family name. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1380 following generic families are defined:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1381 @itemize @bullet
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1382 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1383 'serif' (e.g. Times)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1384 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1385 'sans-serif' (e.g. Helvetica)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1386 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1387 'cursive' (e.g. Zapf-Chancery)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1388 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1389 'fantasy' (e.g. Western)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1390 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1391 'monospace' (e.g. Courier)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1392 @end itemize
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1393 @end table
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1394
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1395 Style sheet designers are encouraged to offer a generic font family as a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1396 last alternative.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1397
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1398 Font names containing whitespace should be quoted:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1399
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1400 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1401 BODY @{ font-family: "new century schoolbook", serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1402
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1403 <BODY STYLE="font-family: 'My own font', fantasy">
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1404 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1405
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1406 If quoting is omitted, any whitespace characters before and after the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1407 font name are ignored and any sequence of whitespace characters inside
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1408 the font name is converted to a single space.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1409
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1410 @node font-style, font-variant, font-family, Font Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1411 @subsubsection font-style
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1412
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1413 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1414 @item Supported Values: @tab normal | italic | oblique
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1415 @item Initial: @tab normal
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1416 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1417 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1418 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1419 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1420
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1421 The 'font-style' property selects between normal (sometimes referred to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1422 as "roman" or "upright"), italic and oblique faces within a font family.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1423
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1424 A value of 'normal' selects a font that is classified as 'normal' in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1425 UA's font database, while 'oblique' selects a font that is labeled
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1426 'oblique'. A value of 'italic' selects a font that is labeled 'italic',
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1427 or, if that is not available, one labeled 'oblique'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1428
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1429 The font that is labeled 'oblique' in the UA's font database may
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1430 actually have been generated by electronically slanting a normal font.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1431
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1432 Fonts with Oblique, Slanted or Incline in their names will typically be
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1433 labeled 'oblique' in the UA's font database. Fonts with Italic, Cursive
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1434 or Kursiv in their names will typically be labeled 'italic'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1435
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1436 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1437 H1, H2, H3 @{ font-style: italic @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1438 H1 EM @{ font-style: normal @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1439 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1440
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1441 In the example above, emphasized text within 'H1' will appear in a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1442 normal face.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1443
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1444 @node font-variant, font-weight, font-style, Font Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1445 @subsubsection font-variant
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1446
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1447 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1448 @item Value: @tab normal | small-caps
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1449 @item Initial: @tab normal
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1450 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1451 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1452 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1453 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1454
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1455 Another type of variation within a font family is the small-caps. In a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1456 small-caps font the lower case letters look similar to the uppercase
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1457 ones, but in a smaller size and with slightly different proportions. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1458 'font-variant' property selects that font.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1459
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1460 A value of 'normal' selects a font that is not a small-caps font,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1461 'small-caps' selects a small-caps font. It is acceptable (but not
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1462 required) in CSS1 if the small-caps font is a created by taking a normal
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1463 font and replacing the lower case letters by scaled uppercase
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1464 characters. As a last resort, uppercase letters will be used as
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1465 replacement for a small-caps font.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1466
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1467 The following example results in an 'H3' element in small-caps, with
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1468 emphasized words in oblique small-caps:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1469
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1470 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1471 H3 @{ font-variant: small-caps @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1472 EM @{ font-style: oblique @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1473 @end example
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1474
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1475 There may be other variants in the font family as well, such as fonts
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1476 with old-style numerals, small-caps numerals, condensed or expanded
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1477 letters, etc. CSS1 has no properties that select those.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1478
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1479 @node font-weight, font-size, font-variant, Font Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1480 @subsubsection font-weight
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1481
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1482 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1483 @item Supported Values: @tab normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1484 @item Unsupported Values: @tab bolder | lighter
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1485 @item Initial: @tab normal
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1486 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1487 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1488 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1489 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1490
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1491 The 'font-weight' property selects the weight of the font. The values
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1492 '100' to '900' form an ordered sequence, where each number indicates a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1493 weight that is at least as dark as its predecessor. The keyword 'normal'
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1494 is synonymous with '400', and 'bold' is synonymous with '700'. Keywords
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1495 other than 'normal' and 'bold' have been shown to be often confused with
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1496 font names and a numerical scale was therefore chosen for the 9-value
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1497 list.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1498
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1499 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1500 P @{ font-weight: normal @} /* 400 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1501 H1 @{ font-weight: 700 @} /* bold */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1502 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1503
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1504 The 'bolder' and 'lighter' values select font weights that are relative
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1505 to the weight inherited from the parent:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1506
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1507 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1508 STRONG @{ font-weight: bolder @}
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1509 @end example
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1510
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1511 There is no guarantee that there will be a darker face for each of the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1512 'font-weight' values; for example, some fonts may have only a normal and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1513 a bold face, others may have eight different face weights. There is no
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1514 guarantee on how a UA will map font faces within a family to weight
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1515 values. The only guarantee is that a face of a given value will be no
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1516 less dark than the faces of lighter values.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1517
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1518 @node font-size, font, font-weight, Font Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1519 @subsubsection font-size
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1520
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1521 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1522 @item Supported Values: @tab <absolute-size> | <length>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1523 @item Unsupported Values: @tab <percentage> | <relative-size>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1524 @item Initial: @tab medium
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1525 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1526 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1527 @item Percentage values: @tab relative to parent element's font size
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1528 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1529
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1530 @table @b
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1531 @item <absolute-size>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1532 An <absolute-size> keyword is an index to a table of font sizes computed
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1533 and kept by the UA. Possible values are:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1534 @itemize @bullet
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1535 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1536 xx-small
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1537 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1538 x-small
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1539 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1540 small
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1541 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1542 medium
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1543 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1544 large
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1545 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1546 x-large
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1547 @item
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1548 xx-large
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1549 @end itemize
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1550
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1551 On a computer screen a scaling factor of 1.5 is suggested between
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1552 adjacent indexes; if the 'medium' font is 10pt, the 'large' font could
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1553 be 15pt. Different media may need different scaling factors. Also, the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1554 UA should take the quality and availability of fonts into account when
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1555 computing the table. The table may be different from one font family to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1556 another.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1557 @item <relative-size>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1558 A <relative-size> keyword is interpreted relative to the table of font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1559 sizes and the font size of the parent element. Possible values are
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1560 @b{larger} or @b{smaller}. For example, if the parent element has a font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1561 size of 'medium', a value of 'larger' will make the font size of the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1562 current element be 'large'. If the parent element's size is not close to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1563 a table entry, the UA is free to interpolate between table entries or
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1564 round off to the closest one. The UA may have to extrapolate table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1565 values if the numerical value goes beyond the keywords.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1566 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1567
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1568 Length and percentage values should not take the font size table into
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1569 account when calculating the font size of the element.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1570
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1571 Negative values are not allowed.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1572
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1573 On all other properties, 'em' and 'ex' length values refer to the font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1574 size of the current element. On the 'font-size' property, these length
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1575 units refer to the font size of the parent element.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1576
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1577 Note that an application may reinterpret an explicit size, depending on
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1578 the context. E.g., inside a VR scene a font may get a different size
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1579 because of perspective distortion.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1580
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1581 Examples:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1582
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1583 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1584 P @{ font-size: 12pt; @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1585 BLOCKQUOTE @{ font-size: larger @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1586 EM @{ font-size: 150% @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1587 EM @{ font-size: 1.5em @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1588 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1589
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1590 If the suggested scaling factor of 1.5 is used, the last three
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1591 declarations are identical.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1592
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1593 @node font, , font-size, Font Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1594 @subsubsection font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1595
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1596 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1597 @item Value: @tab [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1598 @item Initial: @tab not defined for shorthand properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1599 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1600 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1601 @item Percentage values: @tab allowed on <font-size> and <line-height>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1602 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1603 The 'font' property is a shorthand property for setting 'font-style'
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1604 'font-variant' 'font-weight' 'font-size', 'line-height' and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1605 'font-family' at the same place in the style sheet. The syntax of this
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1606 property is based on a traditional typographical shorthand notation to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1607 set multiple properties related to fonts.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1608
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1609 For a definition of allowed and initial values, see the previously
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1610 defined properties. Properties for which no values are given are set to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1611 their initial value.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1612
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1613 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1614 P @{ font: 12pt/14pt sans-serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1615 P @{ font: 80% sans-serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1616 P @{ font: x-large/110% "new century schoolbook", serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1617 P @{ font: bold italic large Palatino, serif @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1618 P @{ font: normal small-caps 120%/120% fantasy @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1619 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1620
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1621 In the second rule, the font size percentage value ('80%') refers to the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1622 font size of the parent element. In the third rule, the line height
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1623 percentage refers to the font size of the element itself.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1624
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1625 In the first three rules above, the 'font-style', 'font-variant' and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1626 'font-weight' are not explicitly mentioned, which means they are all
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1627 three set to their initial value ('normal'). The fourth rule sets the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1628 'font-weight' to 'bold', the 'font-style' to 'italic' and implicitly
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1629 sets 'font-variant' to 'normal'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1630
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1631 The fifth rule sets the 'font-variant' ('small-caps'), the 'font-size'
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1632 (120% of the parent's font), the 'line-height' (120% times the font
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1633 size) and the 'font-family' ('fantasy'). It follows that the keyword
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1634 'normal' applies to the two remaining properties: 'font-style' and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1635 'font-weight'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1636
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1637 @node Colors and Backgrounds, Text Properties, Font Properties, Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1638 @subsection Colors and Backgrounds
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1639
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1640 These properties describe the color (often called foreground color) and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1641 background of an element (i.e. the surface onto which the content is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1642 rendered). One can set a background color and/or a background image. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1643 position of the image, if/how it is repeated, and whether it is fixed or
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1644 scrolled relative to the canvas can also be set.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1645
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1646 The 'color' property inherits normally. The background properties do not
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1647 inherit, but the parent element's background will shine through by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1648 default because of the initial 'transparent' value on
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1649 'background-color'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1650
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1651 NOTE: Currently, Emacs/W3 can only show background images under XEmacs.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1652 Emacs 19 doesn't have the support in its display code yet.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1653
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1654 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1655 * color:: Foreground colors.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1656 * background-color:: Background colors.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1657 * background-image:: Background images.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1658 * background-repeat:: Controlling repeating of background images.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1659 * background-attachment:: Where background images are drawn.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1660 * background-position:: Where background images are drawn.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1661 * background:: Shorthand for all background properties.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1662 @end menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1663
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1664 @node color, background-color, Colors and Backgrounds, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1665 @subsubsection color
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1666
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1667 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1668 @item Value: @tab <color>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1669 @item Initial: @tab User specific
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1670 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1671 @item Inherited: @tab yes
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1672 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1673 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1674
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1675 This property describes the text color of an element (often referred to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1676 as the foreground color). There are different ways to specify red:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1677
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1678 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1679 EM @{ color: red @} /* natural language */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1680 EM @{ color: rgb(255,0,0) @} /* RGB range 0-255 */
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1681 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1682
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1683 See @ref{Color Units} for a description of possible color values.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1684
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1685 @node background-color, background-image, color, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1686 @subsubsection background-color
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1687
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1688 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1689 @item Value: @tab <color> | transparent
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1690 @item Initial: @tab transparent
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1691 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1692 @item Inherited: @tab no
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1693 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1694 @end multitable
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1695
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1696 This property sets the background color of an element.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1697
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1698 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1699 H1 @{ background-color: #F00 @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1700 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1701
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1702 @node background-image, background-repeat, background-color, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1703 @subsubsection background-image
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1704
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1705 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1706 @item Value: @tab <url> | none
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1707 @item Initial: @tab none
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1708 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1709 @item Inherited: @tab no
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1710 @item Percentage values: @tab N/A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1711 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1712
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1713 This property sets the background image of an element. When setting a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1714 background image, one should also set a background color that will be
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1715 used when the image is unavailable. When the image is available, it is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1716 overlaid on top of the background color.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1717
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1718 @example
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1719 BODY @{ background-image: url(marble.png) @}
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1720 P @{ background-image: none @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1721 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1722
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1723 @node background-repeat, background-attachment, background-image, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1724 @subsubsection background-repeat
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1725
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1726 This property is not supported at all under Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1727
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1728 @node background-attachment, background-position, background-repeat, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1729 @subsubsection background-attachment
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1730
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1731 This property is not supported at all under Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1732
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1733 @node background-position, background, background-attachment, Colors and Backgrounds
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1734 @subsubsection background-position
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1735
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1736 This property is not supported at all under Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1737
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1738 @node background, , background-position, Colors and Backgrounds
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1739 @subsubsection background
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1740
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1741 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1742 @item Value: @tab <background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1743 @item Initial: @tab not defined for shorthand properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1744 @item Applies to: @tab all elements
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1745 @item Inherited: @tab no
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1746 @item Percentage values: @tab allowed on <background-position>
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1747 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1748
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1749 The 'background' property is a shorthand property for setting the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1750 individual background properties (i.e., 'background-color',
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1751 'background-image', 'background-repeat', 'background-attachment' and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1752 'background-position') at the same place in the style sheet.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1753
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1754 Possible values on the 'background' properties are the set of all
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1755 possible values on the individual properties.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1756
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1757 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1758 BODY @{ background: red @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1759 P @{ background: url(chess.png) gray 50% repeat fixed @}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1760 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1761
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1762 The 'background' property always sets all the individual background
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1763 properties. In the first rule of the above example, only a value for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1764 'background-color' has been given and the other individual properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1765 are set to their initial value. In the second rule, all individual
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1766 properties have been specified.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1767
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1768 @node Text Properties, Box Properties, Colors and Backgrounds, Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1769 @subsection Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1770
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1771 @menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1772 * word-spacing::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1773 * letter-spacing::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1774 * text-decoration::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1775 * vertical-align::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1776 * text-transform::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1777 * text-align::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1778 * text-indent::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1779 * line-height::
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1780 @end menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1781
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1782 @node word-spacing, letter-spacing, Text Properties, Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1783 @subsubsection word-spacing
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1784
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1785 @multitable @columnfractions .2 .8
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1786 @item Supported Values: @tab normal
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1787 @item Unsupported Values: @tab <length>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1788 @item Initial: @tab normal
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1789 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1790 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1791 @item Percentage values: @tab N/A
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1792 @end multitable
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1793
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1794 The length unit indicates an addition to the default space between
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1795 words. Values can be negative, but there may be implementation-specific
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1796 limits. The UA is free to select the exact spacing algorithm. The word
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1797 spacing may also be influenced by justification (which is a value of the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1798 'align' property).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1799
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1800 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1801 H1 @{ word-spacing: 0.4em @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1802 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1803
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1804 Here, the word-spacing between each word in 'H1' elements would be
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1805 increased by '1em'.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1806
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1807 NOTE: Emacs/W3 cannot currently support this, due to limitations in
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1808 Emacs. It may be implemented in the future.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1809
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1810 @node letter-spacing, text-decoration, word-spacing, Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1811 @subsubsection letter-spacing
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1812
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1813 @multitable @columnfractions .2 .8
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1814 @item Supported Values: @tab normal
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1815 @item Unsupported Values: @tab <length>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1816 @item Initial: @tab normal
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1817 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1818 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1819 @item Percentage values: @tab N/A
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1820 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1821
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1822 The length unit indicates an addition to the default space between
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1823 characters. Values can be negative, but there may be
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1824 implementation-specific limits. The UA is free to select the exact
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1825 spacing algorithm. The letter spacing may also be influenced by
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1826 justification (which is a value of the 'align' property).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1827
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1828 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1829 BLOCKQUOTE @{ letter-spacing: 0.1em @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1830 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1831
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1832 Here, the letter-spacing between each character in 'BLOCKQUOTE' elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1833 would be increased by '0.1em'.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1834
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1835 NOTE: Emacs/W3 cannot currently support this, due to limitations in
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1836 Emacs. It may be implemented in the future.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1837
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1838 @node text-decoration, vertical-align, letter-spacing, Text Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1839 @subsubsection text-decoration
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1840
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1841 @multitable @columnfractions .2 .8
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1842 @item Supported Values: @tab none | underline | line-through | blink
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1843 @item Unsupported Values: @tab overline
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1844 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1845 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1846 @item Inherited: @tab no, but see clarification below
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1847 @item Percentage values: @tab N/A
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1848 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1849
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1850 This property describes decorations that are added to the text of an
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1851 element. If the element has no text (e.g. the 'IMG' element in HTML) or
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1852 is an empty element (e.g. '<EM></EM>'), this property has no effect. A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1853 value of 'blink' causes the text to blink.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1854
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1855 The color(s) required for the text decoration should be derived from the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1856 'color' property value.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1857
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1858 This property is not inherited, but elements should match their
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1859 parent. E.g., if an element is underlined, the line should span the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1860 child elements. The color of the underlining will remain the same even
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1861 if descendant elements have different 'color' values.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1862
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1863 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1864 A:link, A:visited, A:active @{ text-decoration: underline @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1865 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1866
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1867 The example above would underline the text of all links (i.e., all 'A'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1868 elements with a 'HREF' attribute).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1869
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1870 NOTE: The 'line-through' property is only supported under XEmacs
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1871 currently. A patch has been sent to the Emacs maintainers to add
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1872 support for this, but it has not made it into the main distribution
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1873 yet.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1874
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1875 @node vertical-align, text-transform, text-decoration, Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1876 @subsubsection vertical-align
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1877
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1878 This is currently unsupported in Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1879
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1880 @node text-transform, text-align, vertical-align, Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1881 @subsubsection text-transform
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1882
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1883 @multitable @columnfractions .2 .8
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1884 @item Supported Values: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1885 @item Unsupported Values: @tab capitalize | uppercase | lowercase
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1886 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1887 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1888 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1889 @item Percentage values: @tab N/A
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1890 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1891
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1892 @table @b
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1893 @item 'capitalize'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1894 Uppercases the first character of each word.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1895 @item 'uppercase'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1896 Uppercases all letters of the element.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1897 @item 'lowercase'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1898 Lowercases all letters of the element.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1899 @item 'none'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1900 Neutralizes inherited value.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1901 @end table
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1902
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1903 The actual transformation in each case is human language dependent.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1904
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1905 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1906 H1 @{ text-transform: uppercase @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1907 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1908
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1909 The example above would put 'H1' elements in uppercase text.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1910
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1911 NOTE: This capability was in the previous version of Emacs/W3, but has
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1912 not been reimplemented in the new display code yet. Please feel free to
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1913 send me patches.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1914
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1915 @node text-align, text-indent, text-transform, Text Properties
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1916 @subsubsection text-align
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1917
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1918 @multitable @columnfractions .2 .8
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1919 @item Value: @tab left | right | center | justify
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1920 @item Initial: @tab User specific
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1921 @item Applies to: @tab block-level elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1922 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1923 @item Percentage values: @tab N/A
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1924 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1925
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1926 This property describes how text is aligned within the element. The
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1927 actual justification algorithm used is UA and human language dependent.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1928
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1929 Example:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1930 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1931 DIV.center @{ text-align: center @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1932 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1933
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1934 Since 'text-align' inherits, all block-level elements inside the 'DIV'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1935 element with 'CLASS=center' will be centered. Note that alignments are
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1936 relative to the width of the element, not the canvas.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1937
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1938 @node text-indent, line-height, text-align, Text Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1939 @subsubsection text-indent
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1940
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1941 Not currently implemented in Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1942
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1943 @node line-height, , text-indent, Text Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1944 @subsubsection line-height
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1945
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
1946 Not currently implemented in Emacs/W3.
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1947
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1948 @node Box Properties, Classification, Text Properties, Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1949 @subsection Box Properties
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1950
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1951 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1952 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1953
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1954 @node Classification, Media Selection, Box Properties, Properties
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
1955 @subsection Classification
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1956
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1957 These properties classify elements into categories more than they set
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1958 specific visual parameters.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1959
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1960 The list-style properties describe how list items (i.e. elements with a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1961 'display' value of 'list-item') are formatted. The list-style properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1962 can be set on any element, and it will inherit normally down the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1963 tree. However, they will only be have effect on elements with a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1964 'display' value of 'list-item'. In HTML this is typically the case for
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1965 the 'LI' element.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1966
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1967 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1968 * display::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1969 * white-space::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1970 * list-style-type::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1971 * list-style-image::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1972 * list-style-position::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1973 * list-style::
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1974 @end menu
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1975
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1976 @node display, white-space, Classification, Classification
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1977 @subsubsection display
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
1978
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1979 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1980 @item Value: @tab block | inline | list-item | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1981 @item Extensions: @tab line
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1982 @item Initial: @tab inline
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1983 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1984 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1985 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1986 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1987
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1988 This property describes how/if an element is displayed on the canvas
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1989 (which may be on a printed page, a computer display etc.).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1990
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1991 An element with a 'display' value of 'block' opens whitespace suitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1992 for a paragraph break. Typically, elements like 'H1' and 'P' are of
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1993 type 'block'. A value of 'list-item' is similar to 'block' except that a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1994 list-item marker is added. In HTML, 'LI' will typically have this value.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1995
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1996 An element with a 'display' value of 'inline' results in a new inline
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1997 box on the same line as the previous content.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1998
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
1999 A value of 'none' turns off the display of the element, including
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2000 children elements and the surrounding box.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2001
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2002 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2003 P @{ display: block @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2004 EM @{ display: inline @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2005 LI @{ display: list-item @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2006 IMG @{ display: none @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2007 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2008
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2009 The last rule turns off the display of images.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2010
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2011 A value of 'line' results in a single line break. Emacs/W3 needs this
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2012 extension to be able to fully specify the behaviour of @sc{br} and
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2013 @sc{hr} elements within a stylesheet.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2014
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2015 NOTE: Emacs/W3 defaults to using 'inline' for this property, which is a
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2016 slight deviation from the specification.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2017
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2018 @node white-space, list-style-type, display, Classification
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2019 @subsubsection white-space
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2020
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2021 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2022 @item Value: @tab normal | pre | nowrap
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2023 @item Initial: @tab normal
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2024 @item Applies to: @tab block-level elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2025 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2026 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2027 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2028
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2029 This property declares how whitespace inside the element is handled: the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2030 'normal' way (where whitespace is collapsed), as 'pre' (which behaves
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2031 like the 'PRE' element in HTML) or as 'nowrap' (where wrapping is done
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2032 only through BR elements):
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2033
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2034 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2035 PRE @{ white-space: pre @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2036 P @{ white-space: normal @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2037 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2038
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2039 @node list-style-type, list-style-image, white-space, Classification
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2040 @subsubsection list-style-type
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2041
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2042 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2043 @item Value: @tab disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2044 @item Initial: @tab disc
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2045 @item Applies to: @tab elements with 'display' value 'list-item'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2046 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2047 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2048 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2049
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2050 This property is used to determine the appearance of the list-item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2051 marker if 'list-style-image' is 'none' or if the image pointed to by the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2052 URL cannot be displayed.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2053
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2054 Fo example:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2055 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2056 OL @{ list-style-type: decimal @} /* 1 2 3 4 5 etc. */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2057 OL @{ list-style-type: lower-alpha @} /* a b c d e etc. */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2058 OL @{ list-style-type: lower-roman @} /* i ii iii iv v etc. */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2059 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2060
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2061 @node list-style-image, list-style-position, list-style-type, Classification
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2062 @subsubsection list-style-image
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2063
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2064 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2065 @item Value: @tab <url> | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2066 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2067 @item Applies to: @tab elements with 'display' value 'list-item'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2068 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2069 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2070 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2071
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2072 This property sets the image that will be used as the list-item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2073 marker. When the image is available it will replace the marker set with
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2074 the 'list-style-type' marker.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2075
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2076 NOTE: This is currently unimplemented in Emacs/W3.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2077
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2078 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2079 UL @{ list-style-image: url(http://png.com/ellipse.png) @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2080 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2081
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2082 @node list-style-position, list-style, list-style-image, Classification
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2083 @subsubsection list-style-position
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2084
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2085 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2086 @item Supported Values: @tab outside
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2087 @item Unsupported Values: @tab inside
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2088 @item Initial: @tab outside
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2089 @item Applies to: @tab elements with 'display' value 'list-item'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2090 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2091 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2092 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2093
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2094 The value of 'list-style-position' determines how the list-item marker
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2095 is drawn with regard to the content. For a formatting example see
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2096 section 4.1.3.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2097
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2098 @node list-style, , list-style-position, Classification
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2099 @subsubsection list-style
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2100
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2101 @multitable @columnfractions .2 .8
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2102 @item Value: @tab <keyword> || <position> || <url>
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2103 @item Initial: @tab not defined for shorthand properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2104 @item Applies to: @tab elements with 'display' value 'list-item'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2105 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2106 @item Percentage values: @tab N/A
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2107 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2108
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2109 The 'list-style' property is a shorthand notation for setting the three
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2110 properties 'list-style-type', 'list-style-image' and
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2111 'list-style-position' at the same place in the style sheet.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2112
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2113 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2114 UL @{ list-style: upper-roman inside @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2115 UL UL @{ list-style: circle outside @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2116 LI.square @{ list-style: square @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2117 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2118
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2119 Setting 'list-style' directly on 'LI' elements can have unexpected
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2120 results. Consider:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2121
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2122 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2123 <STYLE TYPE="text/css">
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2124 OL.alpha LI @{ list-style: lower-alpha @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2125 UL LI @{ list-style: disc @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2126 </STYLE>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2127 <BODY>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2128 <OL CLASS=alpha>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2129 <LI>level 1
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2130 <UL>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2131 <LI>level 2
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2132 </UL>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2133 </OL>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2134 </BODY>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2135 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2136
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2137 Since the specificity (as defined in the cascading order) is higher for
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2138 the first rule in the style sheet in the example above, it will override
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2139 the second rule on all 'LI' elements and only 'lower-alpha' list styles
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2140 will be used. It is therefore recommended to set 'list-style' only on
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2141 the list type elements:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2142
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2143 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2144 OL.alpha @{ list-style: lower-alpha @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2145 UL @{ list-style: disc @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2146 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2147
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2148 In the above example, inheritance will transfer the 'list-style' values
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2149 from 'OL' and 'UL' elements to 'LI' elements.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2150
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2151 A URL value can be combined with any other value:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2152
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2153 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2154 UL @{ list-style: url(http://png.com/ellipse.png) disc @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2155 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2156
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2157 In the example above, the 'disc' will be used when the image is
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2158 unavailable.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2159
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2160 @node Media Selection, Speech Properties, Classification, Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2161 @subsection Media Selection
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2162
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2163 To specify that a stylesheet declaration should only apply when using a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2164 certain media type (ie: different font families preferred when printing
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2165 versus on-screen presentation), the declarations should be wrapped in
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2166 the proposed @b{@@media} directive.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2167
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2168 The @@media directive takes two arguments, the media type, and a block
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2169 of style declarations.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2170
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2171 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2172 @@media print @{
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2173 BODY @{ font-size: 10pt @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2174 H1 @{ font-size: 14pt @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2175 @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2176 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2177 The '@@media' construct also allows to put include style sheet rules
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2178 for various media in the same style sheet:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2179
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2180 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2181 @@media print @{
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2182 BODY @{ font-size: 10pt @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2183 @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2184 @@media screen @{
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2185 BODY @{ font-size: 12pt @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2186 @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2187 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2188
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2189 Currently, the following media types are defined.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2190 @table @b
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2191 @item Print
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2192 Output for paged opaque material, and for documents viewed on screen in
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2193 print preview mode.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2194 @item Screen
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2195 A continuous presentation for computer screens.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2196 @item Projector
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2197 Paged presentation for projected presentations.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2198 @item Braille
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2199 For braille tactile feedback devices.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2200 @item Speech
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2201 Aural presentation.
118
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
2202 @item Light
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
2203 The stylesheet will only be applied if the user is using a light background.
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
2204 @item Dark
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
2205 The stylesheet will only be applied if the user is using a dark background.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2206 @item Emacs
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2207 The stylesheet will only be applied if the user is running in Emacs 19.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2208 @item XEmacs
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2209 The stylesheet will only be applied if the user is running in XEmacs 19.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2210 @item All
118
7d55a9ba150c Import from CVS: tag r20-1b11
cvs
parents: 116
diff changeset
2211 The default value, the style sheet applies to all output devices.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2212 @end table
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2213
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2214 @node Speech Properties, , Media Selection, Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2215 @subsection Speech Properties
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2216
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2217 Those of us who are sighted are accustomed to visual presentation of
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2218 @sc{html} documents, frequently on a bitmapped display. This is not the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2219 only possible presentation method, however. Aural presentation, using a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2220 combination of speech synthesis and 'audio icons', provides an
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2221 alternative presentation. This form of presentation is in current use by
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2222 the blind and print-impaired communities.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2223
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2224 Often such aural presentation occurs by converting the document to plain
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2225 text and feeding this to a 'screen reader' -- software or hardware that
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2226 simply reads all the characters on the screen. This results in less
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2227 effective presentation than would be the case if the document structure
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2228 were retained.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2229
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2230 There are other large markets for aural presentation, including in-car
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2231 and home entertainment use; aurual or mixed aural/visual presentation is
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2232 thus likely to increase in importance over the next few years. Realizing
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2233 that that the aural rendering is essentially independent of the visual
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2234 rendering:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2235
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2236 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2237 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2238 Allows orthogonal aural and visual views.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2239 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2240 Allows browsers to optionally implement both aural and visual views to
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2241 produce truly multimodal documents.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2242 @end itemize
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2243
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2244 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2245 * volume::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2246 * pause-before::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2247 * pause-after::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2248 * pause::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2249 * cue-before::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2250 * cue-after::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2251 * cue::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2252 * play-during::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2253 * speed::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2254 * voice-family::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2255 * pitch::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2256 * pitch-range::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2257 * stress::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2258 * richness::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2259 * speak-punctuation::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2260 * speak-date::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2261 * speak-numeral::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2262 * speak-time::
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2263 @end menu
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2264
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2265 @node volume, pause-before, Speech Properties, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2266 @subsubsection volume
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2267
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2268 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2269 @item Value: @tab <percentage> | mute | x-soft | soft | medium | loud | x-loud
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2270 @item Initial: @tab medium
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2271 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2272 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2273 @item Percentage values: @tab relative to user-specified mapping
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2274 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2275
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2276 The legal range of percentage values is 0% to 100%. There is a fixed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2277 mapping between keyword values and percentages:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2278
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2279 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2280 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2281 'x-soft' = '0%'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2282 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2283 'soft' = '25%'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2284 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2285 'medium' = '50%'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2286 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2287 'loud' = '75%'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2288 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2289 'x-loud' = '100%'
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2290 @end itemize
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2291
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2292 Volume refers to the median volume of the waveform. In other words, a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2293 highly inflected voice at a volume of 50 might peak well above
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2294 that. Note that '0%' does not mean the same as "mute". 0% represents the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2295 minimum audible volume level and 100% corresponds to the maximum
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2296 comfortable level. The UA should allow the values corresponding to 0%
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2297 and 100% to be set by the user. Suitable values depend on the equipment
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2298 in use (speakers, headphones), the environment (in car, home theater,
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2299 library) and personal preferences. Some examples:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2300
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2301 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2302 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2303 A browser for in-car use has a setting for when there is lots of
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2304 background noise . 0% would map to a fairly high level and 100% to a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2305 quite high level. The overall values are likely to be human adjustable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2306 for comfort, for example with a physical volume control: what this
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2307 proposal does is adjust the dynamic range.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2308 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2309 Another speech browser is being used in the home, late at night, (don't
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2310 annoy the neighbors) or in a shared study room. 0% is set to very quiet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2311 and 100% to a fairly quiet level, too. As with the first example, there
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2312 is a low slope; the dynamic range is reduced. The actual volumes are low
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2313 here, wheras they were high in the first example.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2314 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2315 In a quiet and isolated house, an expensive hifi home theatre setup. 0%
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2316 is set fairly low and 100% to quite high; there is wide dynamic range.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2317 @end itemize
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2318
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2319 The same authors stylesheet could be used in all cases, simply by
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2320 mapping the 0 and 100 points suitably at the client side.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2321
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2322 @node pause-before, pause-after, volume, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2323 @subsubsection pause-before
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2324
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2325 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2326 @item Value: @tab <time> | <percentage>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2327 @item Initial: @tab UA specific
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2328 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2329 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2330 @item Percentage values: @tab speed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2331 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2332
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2333 This property specifies the pause before elements. It may be given in an
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2334 absolute units (seconds, milliseconds) or as a relative value in which
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2335 case it is relative to the reciprocal of the 'speed' property: if speed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2336 is 120 words per minute (ie a word takes half a second -- 500
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2337 milliseconds) then a pause-before of 100% means a pause of 500 ms and a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2338 pause-before of 20% means 100ms.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2339
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2340 Using relative units gives more robust stylesheets in the face of large
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2341 changes in speed.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2342
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2343 @node pause-after, pause, pause-before, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2344 @subsubsection pause-after
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2345
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2346 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2347 @item Value: @tab <time> | <percentage>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2348 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2349 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2350 @item Percentage values: @tab speed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2351 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2352
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2353 This property specifies the pause after elements. Values are specified
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2354 the same way as 'pause-before'.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2355
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2356 @node pause, cue-before, pause-after, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2357 @subsubsection pause
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2358
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2359 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2360 @item Value: @tab [<time> | <percentage> ]@{1,2@};
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2361 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2362 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2363 @item Percentage values: @tab speed
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2364 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2365
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2366 The 'pause' property is a shorthand for setting 'pause-before' and
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2367 'pause-after'. The first value is pause-before and the second is
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2368 pause-after. If only one value is given, it applies to both properties.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2369
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2370 Examples:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2371
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2372 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2373 H1 @{ pause: 20ms @} /* pause-before: 20ms; pause-after: 20ms */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2374 H2 @{ pause: 30ms 40ms @} /* pause-before: 30ms; pause-after: 40ms */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2375 H3 @{ pause-after: 10ms @} /* pause-before: ?; pause-after: 10ms */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2376 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2377
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2378 @node cue-before, cue-after, pause, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2379 @subsubsection cue-before
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2380
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2381 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2382 @item Value: @tab <url> | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2383 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2384 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2385 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2386 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2387 Auditory icons are another way to distinguish semantic elements. Sounds
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2388 may be played before, and/or after the element to delimit it. The same
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2389 sound can be used both before and after, using the cue property.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2390
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2391 Examples:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2392
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2393 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2394 A @{ cue-before: url(bell.aiff); cue-after: url(dong.wav) @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2395 H1 @{ cue-before: url(pop.au); cue-after: url(pop.au) @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2396 H1 @{ cue: url(pop.au) @} /* same as previous */
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2397 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2398
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2399 @node cue-after, cue, cue-before, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2400 @subsubsection cue-after
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2401
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2402 @xref{cue-before}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2403
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2404 @node cue, play-during, cue-after, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2405 @subsubsection cue
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2406
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2407 @xref{cue-before}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2408
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2409 @node play-during, speed, cue, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2410 @subsubsection cue-during
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2411
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2412 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2413 @item Value: @tab <url> | mix | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2414 @item Initial: @tab mix
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2415 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2416 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2417 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2418 Similar to the cue-before and cue-after properties, this indicates sound
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2419 to be played during an element as a background (ie the sound is mixed in
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2420 with the speech).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2421
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2422 Examples:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2423
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2424 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2425 BLOCKQUOTE.sad @{ cue-during: url(violins.aiff) @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2426 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2427
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2428 @node speed, voice-family, play-during, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2429 @subsubsection speed
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2430
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2431 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2432 @item Value: @tab <words-per-minute> | x-slow | slow | medium | fast | x-fast | faster | slower
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2433 @item Initial: @tab medium
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2434 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2435 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2436 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2437
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2438 Specifies the speaking rate. Note that both absolute and relative
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2439 keyword values are allowed (compare with @ref{font-weight}).
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2440
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2441 @node voice-family, pitch, speed, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2442 @subsubsection voice-family
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2443
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2444 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2445 @item Value: @tab [[<specific-voice> | <generic-voice>],]* [<specific-voice> | <generic-voice>]
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2446 @item Initial: @tab device-specific
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2447 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2448 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2449 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2450
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2451 The value is a prioritized list of voice family names. Generic families
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2452 are male, female, and child.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2453
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2454 Examples of specific voice families are: comedian, paul, lisa
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2455
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2456 Examples
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2457
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2458 @example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2459 H1 @{ voice-family: announcer, male @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2460 P.part.romeo @{ voice-family: romeo, male @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2461 P.part.juliet @{ voice-family: juliet, female @}
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2462 @end example
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2463
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2464 @node pitch, pitch-range, voice-family, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2465 @subsubsection pitch
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2466
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2467 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2468 @end multitable
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
2469
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2470 @node pitch-range, stress, pitch, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2471 @subsubsection pitch-range
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2472
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2473 @multitable @columnfractions .2 .8
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2474 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2475
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2476 @node stress, richness, pitch-range, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2477 @subsubsection stress
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2478
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2479 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2480 @item Value: @tab <percentage>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2481 @item Initial: @tab medium
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2482 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2483 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2484 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2485
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2486 Specifies the level of stress (assertiveness or emphasis) of the
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2487 speaking voice. English is a stressed language, and different parts of a
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2488 sentence are assigned primary, secondary or tertiary stress. The value
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2489 of property 'stress' controls the amount of inflection that results from
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2490 these stress markers.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2491
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2492 Increasing the value of this property results in the speech being more
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2493 strongly inflected. It is in a sense dual to property 'pitch-range' and
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2494 is provided to allow developers to exploit higher-end auditory displays.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2495
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2496 @node richness, speak-punctuation, stress, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2497 @subsubsection richness
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2498
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2499 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2500 @item Value: @tab <percentage>
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2501 @item Initial: @tab medium (50%)
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2502 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2503 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2504 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2505
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2506 Specifies the richness (brightness) of the speaking voice. Different
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2507 speech devices may require the setting of one or more device-specific
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2508 parameters to achieve this effect.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2509
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2510 The effect of increasing richness is to produce a voice that carries --
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2511 reducing richness produces a soft, mellifluous voice.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2512
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2513 @node speak-punctuation, speak-date, richness, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2514 @subsubsection speak-punctuation
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2515
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2516 @multitable @columnfractions .2 .8
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2517 @item Value: @tab code | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2518 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2519 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2520 @item Inherited: @tab yes
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2521 @end multitable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2522
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2523 'code' indicates that punctuation such as semicolons, braces, and so on
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2524 are to be spoken literally. The default value of 'none' means that
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2525 punctuation is not spoken but instead is rendered naturally as various
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2526 pauses.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2527
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2528 @node speak-date, speak-numeral, speak-punctuation, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2529 @subsubsection speak-date
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2530
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2531 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2532 @item Value: @tab myd | dmy | ymd | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2533 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2534 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2535 @item Inherited: @tab no
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2536 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2537
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2538 This is a hint that the element contains a date and also how that date
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2539 should be spoken. month-day-year is common in the USA, while
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2540 day-month-year is common in Europe and year-month-day is also used.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2541
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2542 This should really be an HTML tag not a stylesheet property, since it
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2543 gives semantic information about the content.
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2544
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2545 @node speak-numeral, speak-time, speak-date, Speech Properties
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2546 @subsubsection speak-numeral
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2547
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2548 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2549 @item Value: @tab digits | continous
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2550 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2551 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2552 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2553 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2554
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2555 @node speak-time, , speak-numeral, Speech Properties
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2556 @subsubsection speak-time
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2557
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2558 @multitable @columnfractions .2 .8
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2559 @item Value: @tab 24 | 12 | none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2560 @item Initial: @tab none
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2561 @item Applies to: @tab all elements
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2562 @item Inherited: @tab yes
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2563 @end multitable
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2564
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2565 @node Units, , Properties, Stylesheets
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2566 @section Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2567
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2568 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2569 * Length Units::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2570 * Percentage Units::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2571 * Color Units::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2572 * URLs::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2573 * Angle Units::
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2574 * Time Units::
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2575 @end menu
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2576
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2577 @node Length Units, Percentage Units, Units, Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2578 @subsection Length Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2579
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2580 @node Percentage Units, Color Units, Length Units, Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2581 @subsection Percentage Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2582
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2583 @node Color Units, URLs, Percentage Units, Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2584 @subsection color Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2585
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2586 @node URLs, Angle Units, Color Units, Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2587 @subsection URLs
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2588
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2589 @node Angle Units, Time Units, URLs, Units
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2590 @subsection Angle Units
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2591
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2592 These are the legal angle units:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2593 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2594 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2595 deg: degrees
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2596 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2597 grad
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2598 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2599 rad: radians
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2600 @end itemize
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2601
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2602 @node Time Units, , Angle Units, Units
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2603 @subsection Time Units
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2604
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2605 These are the legal time units:
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2606
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2607 @itemize @bullet
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2608 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2609 ms: milliseconds
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2610 @item
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2611 s: seconds
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2612 @end itemize
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2613
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2614 @node Supported URLs, MIME Support, Stylesheets, Top
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2615 @chapter Supported URLs
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2616
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2617 ::WORK:: List supported URL types, specific RFCs, etc.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2618
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2619 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2620 * file:: Local file access.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2621 * ftp:: Remote file access via ftp.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2622 * nfs:: Remote file access via NFS.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2623 * info:: Access to the Emacs Info system.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2624 * http/https:: @sc{http/1.0} support.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2625 * mailto:: Sending simple electronic mail.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2626 * news/nntp/snews:: Reading and sending Usenet news.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2627 * rlogin/telnet/tn3270:: Legacy host connections.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2628 * irc:: Internet Relay Chat.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2629 * data:: Embedding the data within the URL itself.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2630 * mailserver:: Slightly more complicated electronic mail.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2631 * gopher:: Gopher and Gopher+.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2632 * finger:: The old favorite.
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2633 @end menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2634
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2635 @node file, ftp, Supported URLs, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2636 @section file
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2637
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2638 @node ftp, nfs, file, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2639 @section ftp
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2640
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2641 @node nfs, info, ftp, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2642 @section nfs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2643
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2644 @node info, http/https, nfs, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2645 @section info
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2646
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2647 @node http/https, mailto, info, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2648 @section http/https
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2649
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2650 @node mailto, news/nntp/snews, http/https, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2651 @section mailto
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2652
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2653 @node news/nntp/snews, rlogin/telnet/tn3270, mailto, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2654 @section news/nntp/snews
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2655
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2656 @node rlogin/telnet/tn3270, irc, news/nntp/snews, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2657 @section rlogin/telnet/tn3270
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2658
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2659 @node irc, data, rlogin/telnet/tn3270, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2660 @section irc
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2661
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2662 @node data, mailserver, irc, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2663 @section data
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2664
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2665 @node mailserver, gopher, data, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2666 @section mailserver
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2667
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2668 @node gopher, finger, mailserver, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2669 @section gopher
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2670
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2671 @node finger, , gopher, Supported URLs
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2672 @section finger
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2673
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2674 @node MIME Support, Security, Supported URLs, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2675 @chapter MIME Support
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2676 @sc{mime} is an emerging standard for multimedia mail. It offers a very
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2677 flexible typing mechanism. The type of a file or message is specified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2678 in two parts, separated by a '/'. The first part is the general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2679 category of the data (text, application, image, etc.). The second part
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2680 is the specific type of data (postscript, png, jpeg, etc.). So
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2681 @samp{text/html} specifies an @sc{html} document, whereas
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2682 @samp{image/x-xwindowdump} specifies an image of an Xwindow taken with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2683 the @file{xwd} program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2684
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2685
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2686 This typing allows much more flexibility in naming files. @sc{http}/1.0
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2687 servers can now send back content-type headers in response to a request,
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2688 and not have the client second-guess it based on file extensions. @sc{html}
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2689 files can now be named @file{something.png} (not a great idea, but
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2690 possible).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2692 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2693 * Adding MIME types based on file extensions:: How to map file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2694 extensions onto MIME
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2695 types (e.g., @samp{.png ->
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2696 image/png)}.
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2697 * Specifying Viewers:: How to specify external and internal viewers
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2698 for files that Emacs/W3 cannot handle natively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2699 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2700
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2701 @node Adding MIME types based on file extensions, Specifying Viewers, MIME Support, MIME Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2702 @section Adding MIME types based on file extensions
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2703
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2704 @vindex mm-mime-extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2705 For some protocols however, it is still necessary to guess the content
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2706 of a file based on the file extension. This type of guess-work should
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2707 only be needed when accessing files via @sc{ftp}, local file access, or old
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2708 @sc{http}/0.9 servers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2709
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2710 Instead of specifying how to view things twice, once based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2711 content-type and once based on the file extension, it is easier to map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2712 file extensions to MIME content-types. The variable that controls this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2713 is @code{mm-mime-extensions}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2715 This variable is an assoc list of file extensions and the corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2716 MIME content-type. A sample entry looks like: @samp{(".movie"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2717 . "video/x-sgi-movie")} This makes all files that end in @file{.movie}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2718 (@file{foo.movie} and @file{bar.movie}) be interpreted as SGI animation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2719 files. If a content-type is defined for the document, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2720 over-ridden. Regular expressions can @b{NOT} be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2722 @cindex mime-types file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2723 @findex mm-parse-mimetypes
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2724 Both Mosaic and the NCSA @sc{http} daemon rely on a separate file for mapping
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2725 file extensions to MIME types. Instead of having the users of Emacs/W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2726 duplicate this in lisp, this file can be parsed using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2727 @code{url-parse-mimetypes} function. This function is called each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2728 w3 is loaded. It tries to locate mimetype files in several places. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2729 the environment variable @code{MIMETYPES} is nonempty, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2730 assumed to specify a UNIX-like path of mimetype files (this is a colon
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2731 separated string of pathnames). If the @code{MIMETYPES} environment
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2732 variable is empty, then Emacs/W3 looks for these files:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2733
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2734 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2735 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2736 @file{~/.mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2737 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2738 @file{/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2739 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2740 @file{/usr/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2741 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2742 @file{/usr/local/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2743 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2744 @file{/usr/local/www/conf/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2745 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2746
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2747 Each line contains information for one @sc{http} type. These types resemble
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2748 MIME types. To add new ones, use subtypes beginning with x-, such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2749 application/x-myprogram. Lines beginning with # are comment lines, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2750 suitably ignored. Each line consists of:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2751
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2752 type/subtype ext1 ext2 ... ext@var{n}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2754 type/subtype is the MIME-like type of the document. ext* is any number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2755 of space-separated filename extensions which correspond to the MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2756 type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2757
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2758 @node Specifying Viewers, , Adding MIME types based on file extensions, MIME Support
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2759 @section Specifying Viewers
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2760
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2761 Not all files look as they should when parsed as an @sc{html} document
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2762 (whitespace is stripped, paragraphs are reformatted, and lots of little
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2763 changes that make the document look unrecognizable). Files may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2764 passed to external programs or Emacs Lisp functions to be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2765
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2766 Not all files can be viewed accurately from within an Emacs session (PNG
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2767 files for example, or audio files). For this reason, the user can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2768 specify file "viewers" based on MIME content-types. This is done with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2769 a standard mailcap file. @xref{Mailcap Files}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2770
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2771 @findex mm-add-mailcap-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2772 As an alternative, the function @code{mm-add-mailcap-entry} can also be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2773 used from an appropriate hook.@xref{Hooks} This functions takes three
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 98
diff changeset
2774 arguments, the major type ("@i{image}"), the minor type ("@i{png}"), and
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2775 an assoc list of information about the viewer. Please see the @sc{url}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2776 documentation for more specific information on what this assoc list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2777 should look like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2778
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2779 @node Security, Non-Unix Operating Systems, MIME Support, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2780 @chapter Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2781 @cindex Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2782 @cindex Paranoia
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2783 There are an increasing number of ways to authenticate a user to a web
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2784 service. Emacs/W3 tries to support as many as possible. Emacs/W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2785 currently supports:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2787 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2788 @item Basic Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2789 @cindex Security, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2790 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2791 @cindex Authentication, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2792 The weakest authentication available, not recommended if serious
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2793 security is necessary. This is simply a string that looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2794 @samp{user:password} that has been Base64 encoded, as defined in RFC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2795 1421.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2796 @item Digest Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2797 @cindex Security, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2798 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2799 @cindex Authentication, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2800 Jeffery L. Hostetler, John Franks, Philip Hallam-Baker, Ari Luotonen,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2801 Eric W. Sink, and Lawrence C. Stewart have an internet draft for a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2802 authentication mechanism. For the complete specification, please see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2803 draft-ietf-http-digest-aa-01.txt in the nearest internet drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2804 archive@footnote{One is ftp://ds.internic.net/internet-drafts}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2805 @item SSL Encryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2806 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2807 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2808 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2809 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2810 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2811 @cindex Export Restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2812 SSL is the @code{Secure Sockets Layer} interface developed by Netscape
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2813 Communications @footnote{http://www.netscape.com/}. Emacs/W3 supports
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2814 @sc{http} transfers over an SSL encrypted channel, if the appropriate files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2815 have been installed.@xref{Installing SSL}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2816 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2817
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2818 @node Non-Unix Operating Systems, Speech Integration, Security, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2819 @chapter Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2820 @cindex Non-Unix Operating Systems
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2821
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2822 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2823 * VMS:: The wonderful world of VAX|AXP-VMS!
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2824 * OS/2:: The next-best thing to Unix.
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2825 * MS-DOS:: The wonderful world of MS-DOG!
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2826 * Windows:: Windows NT, Chicago/Windows 95.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2827 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2828
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2829 @node VMS, OS/2, Non-Unix Operating Systems, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2830 @section VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2831 @cindex VAX-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2832 @cindex AXP-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2833 @cindex Digital VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2834 @cindex VMS
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2835
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2836 :: WORK :: VMS Specific instriuctions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2837
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2838 @node OS/2, MS-DOS, VMS, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2839 @section OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2840 @cindex OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2841 @cindex Warp
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2842
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2843 :: WORK :: OS/2 Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2844
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2845 @node MS-DOS, Windows, OS/2, Non-Unix Operating Systems
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2846 @section MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2847 @cindex MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2848 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2849 @cindex DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2850 @cindex MS-DOG
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2851
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2852 :: WORK :: DOS Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2853
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2854 @node Windows, , MS-DOS, Non-Unix Operating Systems
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2855 @section Windows
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2856 @cindex Windows (32-Bit)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2857 @cindex 32-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2858 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2859 @cindex Windows '95
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2860
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2861 :: WORK :: 32bit Windows Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2862
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2863 @node Speech Integration, Advanced Features, Non-Unix Operating Systems, Top
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2864 @chapter Speech Integration
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2865
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2866 :: WORK :: Emacspeak integration
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
2867
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2868 @node Advanced Features, More Help, Speech Integration, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2869 @chapter Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2870
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2871 @menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2872 * Disk Caching:: Improving performance by using a local disk cache
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2873 * Interfacing to Mail/News:: How to make VM understand hypertext links
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2874 * Debugging HTML:: How to make Emacs/W3 display warnings about invalid
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2875 @sc{html}/@sc{html}+ constructs.
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2876 * Hooks:: Various hooks to use throughout Emacs/W3
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2877 * Other Variables:: Miscellaneous variables that control the real
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2878 guts of Emacs/W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2879 @end menu
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2880
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2881 @node Disk Caching, Interfacing to Mail/News, Advanced Features, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2882 @section Disk Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2883 @cindex Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2884 @cindex Persistent Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2885 @cindex Disk Cache
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2886
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2887 A cache stores the information on a page on the local machine. When
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2888 requesting a page that is in the cache, Emacs/W3 can retrieve the page
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2889 from the cache more quickly than retrieving the page again from its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2890 location out on the network. With a well-populated cache, browsing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2891 web is dramatically faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2892
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2893 The first time a page is requested, Emacs/W3 retrieves the page from the
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2894 network. When requesting a page that is in the cache, Emacs/W3 checks
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2895 to see if the page has changed since it was last retrieved from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2896 remote machine. If it has not changed, the local copy is used, saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2897 the transmission of the file over the network.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2899 @vindex url-automatic-caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2900 @cindex Turning on caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2901 @cindex Cleaning the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2902 @cindex Clearing the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2903 @cindex Cache cleaning
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2904 @cindex Limiting the size of the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2905 To turn on disk caching, set the variable @code{url-automatic-caching}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2906 to non-@code{nil}, or choose the 'Caching' menu item (under `Options').
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2907 That is all there is to it. Running the @code{clean-cache} shell script
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2908 fist is recommended, to allow for future cleaning of the cache. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2909 shell script will remove all files that have not been accessed since it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2910 was last run. To keep the cache pared down, it is recommended that this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2911 script be run from @i{at} or @i{cron} (see the manual pages for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2912 crontab(5) or at(1) for more information)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2914
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2915 @cindex Relying on cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2916 @cindex Cache only mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2917 @cindex Standalone mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2918 @cindex Browsing with no network connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2919 @cindex Netless browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2920 @vindex url-standalone-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2921 With a large cache of documents on the local disk, it can be very handy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2922 when traveling, or any other time the network connection is not active
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2923 (a laptop with a dial-on-demand PPP connection, etc). Emacs/W3 can rely
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2924 solely on its cache, and avoid checking to see if the page has changed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2925 on the remote server. In the case of a dial-on-demand PPP connection,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2926 this will keep the phone line free as long as possible, only bringing up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2927 the PPP connection when asking for a page that is not located in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2928 cache. This is very useful for demonstrations as well. To turn this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2929 feature on, set the variable @code{url-standalone-mode} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2930 non-@code{nil}, or choose the `Use Cache Only' menu item (under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2931 `Options')
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2932
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2933 @node Interfacing to Mail/News, Debugging HTML, Disk Caching, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2934 @section Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2935 @cindex Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2936 @cindex VM
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2937 @cindex Using Emacs/W3 with VM
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2938 @cindex GNUS
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2939 @cindex Using Emacs/W3 with Gnus
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2940 @cindex RMAIL
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2941 @cindex Using Emacs/W3 with RMAIL
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2942
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2943 More and more people are including @sc{url}s in their signatures, and within
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2944 the body of mail messages. It can get quite tedious to type these into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2945 the minibuffer to follow one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2946
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2947 @vindex browse-url-browser-function
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2948 With the latest versions of VM (the 5.9x series of betas) and Gnus
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2949 (5.x), @sc{url}s are automatically highlighted, and can be followed with the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2950 mouse or the return key. How the @sc{url}s are viewed is determined by the
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2951 variable @code{browse-url-browser-function}, and it should be set to the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2952 symbol @code{browse-url-w3}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2953
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2954 To access @sc{url}s from within RMAIL, the following hook should do the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2955 trick.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2956 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2957 (add-hook 'rmail-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2958 (function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2959 (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2960 (define-key rmail-mode-map [mouse-2] 'w3-maybe-follow-link-mouse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2961 (define-key rmail-mode-map "\r" 'w3-maybe-follow-link))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2962 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2963
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2964 @node Debugging HTML, Hooks, Interfacing to Mail/News, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2965 @section Debugging HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2966 @cindex Debugging
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2967 @cindex Invalid HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2968 @cindex Bad HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2969 @vindex w3-debug-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2970 @vindex w3-debug-html
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2971
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2972 For those people that are adventurous, or are just as anal as I am about
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
2973 people writing valid @sc{html}, set the variable @code{w3-debug-html} to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2974 @code{t} and see what happens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2975
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2976
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2977 If a Emacs/W3 thinks it has encountered invalid @sc{html}, then a debugging
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2978 message is displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2979
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
2980 :: WORK :: Need to list the different values w3-debug-html can have, and@*
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2981 :: WORK :: what they do ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2982
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2983 @node Hooks, Other Variables, Debugging HTML, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2984 @section Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2985 @cindex Hooks
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
2986
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2987 These are the various hooks that can be used to customize some of
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2988 Emacs/W3's behavior. They are arranged in the order in which they would
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2989 happen when retrieving a document. These are all 'normal hooks' in
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2990 standard Emacs-terminology, meaning they are functions (or lists of
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2991 functions) that are called consecutively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2993 @table @code
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2994 @vindex w3-load-hook
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2995 @item w3-load-hook
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2996 These hooks are run the first time a @sc{url} is fetched. All the
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
2997 Emacs/W3 variables are initialized before this hook is run.
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
2998 @item w3-mode-hook
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2999 These hooks are run after a buffer has been parsed and displayed, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3000 before any inlined images are downloaded and converted.
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
3001 @item w3-source-file-hook
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 102
diff changeset
3002 These hooks are run after displaying a document's source.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3003 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3004
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
3005 @node Other Variables, , Hooks, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3006 @section Miscellaneous variables
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
3007
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3008 There are lots of variables that control the real nitty-gritty of Emacs/W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3009 that the beginning user probably shouldn't mess with. Here they are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3011 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3012 @item url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3013 @vindex url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3014 List of ports to warn the user about connecting to. Defaults to just
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3015 the mail and @sc{nntp} ports so a malicious @sc{html} author cannot spoof mail or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3016 news to other people.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3017 @item url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3018 @vindex url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3019 What function to use for asking yes or no functions. Possible values
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3020 are @code{'yes-or-no-p} or @code{'y-or-n-p}, or any function that takes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3021 a single argument (the prompt), and returns @code{t} only if a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3022 answer is gotten. Defaults to @code{'yes-or-no-p}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3023 @item w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3024 @vindex w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3025 A lisp symbol specifying what action to take for files with extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3026 that are not in the @code{mm-mime-extensions} assoc list. This is
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3027 useful in case Emacs/W3 ever run across files with weird extensions
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3028 (.foo, .README, .READMEFIRST, etc.). In most circumstances, this should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3029 not be required anymore.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3031 Possible values: any lisp symbol. Should be a function that takes no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3032 arguments. The return value does not matter, it is ignored. Some examples
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3033 are @code{'w3-prepare-buffer} or @code{'indented-text-mode}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3034 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3035 @item w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3036 @vindex w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3037 A list of directorys to look in for the w3 standard icons... must end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3038 in a /! If the directory @code{data-directory}/w3 exists, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3039 automatically added to the default value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3040 http://cs.indiana.edu/elisp/w3/icons/.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3041 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3042 @item w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3043 @vindex w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3044 Whether to keep old buffers around when following links. To avoid lots
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3045 of buffers in one Emacs session, set this variable to @code{nil}. I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3046 recommend setting it to @code{t}, so that backtracking from one link to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3047 another is faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3048
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3049 @item url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3050 @vindex url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3051 This is a symbol indicating which function to call to read in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3052 password. If this variable is @code{nil} at startup, it is initialized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3053 depending on whether @dfn{EFS} or @dfn{ange-ftp} is being used. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3054 function should accept the prompt string as its first argument, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3055 default value as its second argument.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3056
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3057 @item w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3058 @vindex w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3059 Determines what happens when @code{w3-fetch} is called on a document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3060 that has already been loaded into another buffer. Possible values are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3061 @code{nil}, @code{yes}, and @code{no}. @code{nil} will ask the user if
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3062 Emacs/W3 should reuse the buffer (this is the default value). A value of
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3063 @code{yes} means assume the user wants to always reuse the buffer. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3064 value of @code{no} means assume the user always wants to re-fetch the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3065 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3066 @item w3-show-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3067 @vindex w3-show-headers
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3068 This is a list of @sc{http}/1.0 headers to show at the end of a buffer. All
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3069 the headers should be in lowercase. They are inserted at the end of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3070 buffer in a <UL> list. Alternatively, if this is simply @code{t}, then
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3071 all the @sc{http}/1.0 headers are shown. The default value is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3072 @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3073 @item w3-show-status, url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3074 @vindex url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3075 @vindex w3-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3076 Whether to show progress messages in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3077 @code{w3-show-status} controls if messages about the parsing are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3078 displayed, and @code{url-show-status} controls if a running total of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3079 number of bytes transferred is displayed. These Can cause a large
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3080 performance hit if using a remote X display over a slow link, or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3081 terminal with a slow modem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3082 @item mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3083 @vindex mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3084 An assoc list of @var{Content-Transfer-Encodings} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3085 @var{Content-Encodings} and the appropriate decoding algorithms for each.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3086 If the @code{cdr} of a node is a list, then this specifies the decoder is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3087 an external program, with the program as the first item in the list, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3088 the rest of the list specifying arguments to be passed on the command line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3089 If using an external decoder, it must accept its input from @code{stdin}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3090 and send its output to @code{stdout}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3092 If the @code{cdr} of a node is a symbol whose function definition is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3093 non-@code{nil}, then that encoding can be handled internally. The function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3094 is called with 2 arguments, buffer positions bounding the region to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3095 decoded. The function should completely replace that region with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3096 unencoded information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3098 Currently supported transfer encodings are: base64, x-gzip, 7bit, 8bit,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3099 binary, x-compress, x-hqx, and quoted-printable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3100 @item url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3101 @vindex url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3102 An assoc list of file extensions and the appropriate uncompression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3103 programs for each. This is used to build the Accept-encoding header for
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3104 @sc{http}/1.0 requests.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3105 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3106
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
3107 @node More Help, Future Directions, Advanced Features, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3108 @chapter More Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3109 @cindex Relevant Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3110 @cindex Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3111 @cindex Support
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3112 For more help on Emacs/W3, please send me mail
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3113 (@i{wmperry@@cs.indiana.edu}). Several discussion lists have also been
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3114 created for Emacs/W3. To subscribe, send mail to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3115 @i{majordomo@@indiana.edu}, with the body of the message 'subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3116 @var{listname} @var{<email addres>}'. All other mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3117 @i{<listname>@@indiana.edu}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3120 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3121 @item
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3122 w3-announce -- this list is for anyone interested in Emacs/W3, and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3123 should in general only be used by me. The gnu.emacs.sources newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3124 and a few other mailing lists are included on this. Please only use
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3125 this list for major package releases related to Emacs/W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3126 (@i{www-announce@@w3.org} is included on this list).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3127 @item
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3128 w3-beta -- this list is for beta testers of Emacs/W3. These brave souls test
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3129 out not-quite stable code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3130 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3131 w3-dev -- a list consisting of myself and a few other people who are
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3132 interested in the internals of Emacs/W3, and doing active development work.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3133 Pretty dead right now, but I hope it will grow.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3134 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3136 For more help on the World Wide Web in general, please refer to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3137 comp.infosystems.www.* newsgroups. There are also several discussion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3138 lists concerning the Web. Send mail to @i{<listname>-request@@w3.org}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3139 with a subject line of 'subscribe <listname>'. All mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3140 @i{<listname>@@w3.org}. Administrative mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3141 @i{www-admin@@w3.org}. The lists are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3143
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3144 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3145 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3146 www-talk -- for general discussion of the World Wide Web, where its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3147 going, new features, etc. All the major developers are subscribed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3148 this list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3149 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3150 www-announce -- for announcements concerning the World Wide Web. Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3151 changes, new servers, new software, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3152 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3154 As a last resort, mail me. I'll try to answer as quickly as I can.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3155
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
3156 @node Future Directions, Reporting Bugs, More Help, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3157 @chapter Future Directions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3158 Changes are constantly being made to the Emacs browser (hopefully all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3159 for the better). This is a list of the things that are being worked on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3160 right now.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3161
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3162 :: WORK :: Revamp the todo list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3163
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3164 @node Reporting Bugs, Dealing with Firewalls, Future Directions, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3165 @appendix Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3166 @cindex Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3167 @cindex Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3168 @cindex Contacting the author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3169
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3170 If any bugs are discovered in Emacs/W3, please report them to the
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3171 mailing list @t{w3-beta@@indiana.edu} - this is where the brave souls
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3172 who beta test the latest versions of Emacs/W3 reside, and are generally
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3173 very responsive to bug reports.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3174
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3175 @kindex w
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3176 Please make sure to use the bug submission feature of Emacs/W3, so that
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3177 all relevant information will be sent along with your bug report. By
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3178 default this is bound to the `@key{w}' key when in an Emacs/W3 buffer,
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3179 or you can use @key{M-x w3-submit-bug} from anywhere within Emacs.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3180
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3181 For problems that are causing emacs to signal and error, please send a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3182 backtrace. You can get a backtrace by @kbd{M-x setvariable RET
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3183 debug-on-error RET t RET}, and then reproduce the error.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3184
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3185 If the problem is visual, please capture a copy of the output and mail
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3186 it along with the bug report (preferably as a MIME attachment, but
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3187 anything will do). You can use the @code{xwd} program under X-windows
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3188 for this, or @key{Alt-PrintScreen} under Windows 95/NT. Sorry, but I
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3189 don't remember what the magic incarnation is for doing a screen dump
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3190 under NeXTstep or OS/2.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3191
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3192 If the problem is actually causing Emacs to crash, then you will need to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3193 also mail the maintainers of the various Emacs distributions with the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3194 bug. Please use the @t{gnu.emacs.bug} newgroup for reporting bugs with
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3195 GNU Emacs 19, and @t{comp.emacs.xemacs} for reporting bugs with XEmacs
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3196 19 or XEmacs 20. I am actively involved with the beta testing of the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3197 latest versions of both branches of Emacs, and if I can reproduce the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3198 problem, I will do my best to see it gets fixed in the next release.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3199
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3200 It is also important to always maintain as much context as possible in
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3201 your responses. I get so much email from my various Emacs-activities
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3202 and work, that I cannot remember everything. If you send a bug report,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3203 and I send you a reply, and you reply with 'no that didn't work', then
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3204 odds are I will have no clue what didn't work, much less what that was
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3205 trying to fix in the first place. It will be much quicker and less
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3206 painful if I don't have to waste a round-trip email exchange saying
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3207 'what are you talking about'.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3208
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3209 @node Dealing with Firewalls, Proxy Gateways, Reporting Bugs, Top
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3210 @appendix Dealing with Firewalls
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3211 By default, Emacs can support standard @sc{tcp}/@sc{ip} network
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3212 connections on almost all the platforms it runs on (Unix, @sc{vms},
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3213 Windows, etc). However, there are several situations where it is not
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3214 sufficient.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3215
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3216 @table @b
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3217 @cindex Firewalls
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3218 @item Firewalls
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3219 It is becoming more and more common to be behind a firewall or some
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3220 other system that restricts your outbound network activity, especially
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3221 if you are like me and away from the wonderful world of academia.
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3222 Emacs/W3 has several different methods to get around firewalls (not to
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3223 worry though - none of them should get you in trouble with the local
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3224 @sc{mis} department.)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3225
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3226 @item Emacs cannot resolve hostnames.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3227 @cindex Faulty hostname resolvers
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3228 @cindex Broken SunOS libc
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3229 @cindex Hostname resolution
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3230 This happens quite often on SunOS workstations and some ULTRIX machines.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3231 Some C libraries do not include the hostname resolver routines in their
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3232 static libraries. If Emacs was linked statically, and was not linked
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3233 with the resolver libraries, it wil not be able to get to any machines
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3234 off the local network. This is characterized by being able to reach
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3235 someplace with a raw ip number, but not its hostname
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3236 (@url{http://129.79.254.191/} works, but
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3237 @url{http://www.cs.indiana.edu/} doesn't).
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3238
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3239 The best solution for this problem is to recompile Emacs, making sure to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3240 either link dynamically (if available on your operating system), or
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3241 include the @file{-lresolv}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3242
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3243 @cindex url-gateway-broken-resolution
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3244 If you do not have the disk space or the appropriate permissions to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3245 recompile Emacs, another alternative is using the @file{nslookup}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3246 program to do hostname resolution. To turn this on, set the variable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3247 @code{url-gateway-broken-resolution} in your @file{~/.emacs} file. This
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3248 runs the program specified by @code{url-gateway-nslookup-program} (by
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3249 default "@code{nslookup}" to do hostname resolution. This program should
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3250 expect a single argument on the command line - the hostname to resolve,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3251 and should produce output similar to the standard Unix @file{nslookup}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3252 program:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3253
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3254 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3255 Name: www.cs.indiana.ed
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3256 Address: 129.79.254.191
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3257 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3258
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3259 @cindex @sc{term}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3260 @item Using @sc{term} (or @sc{term}-like) Networking Software
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3261 @sc{term} @footnote{@sc{term} is a user-level protocol for emulating
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3262 @sc{ip} over a serial line. More information is available at
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3263 @url{ftp://sunsite.unc.edu/pub/Linux/apps/comm/term}} for slip-like
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3264 access to the internet.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3265
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3266 @sc{note}: XEmacs and Emacs 19.22 or later have patches to enable native
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3267 @sc{term} networking. To enable it, @code{#define TERM} in the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3268 appropriate s/*.h file for the operating system, then change the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3269 @code{SYSTEM_LIBS} definition to include the @file{termnet} library that
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3270 comes with the latest versions of @sc{term}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3271
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3272 If you run into any problems with the native @sc{term} networking
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3273 support in Emacs or XEmacs, please let @t{wmperry@@cs.indiana.edu} know,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3274 as he is responsible for the original support.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3275 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3276
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3277 @vindex url-gateway-local-host-regexp
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3278 Emacs/W3 has support for using the gateway mechanism for certain
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3279 domains, and directly connecting to others. The variable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3280 @code{url-gateway-local-host-regexp} controls this behaviour. This is a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3281 regular expression @footnote{Please see the full Emacs distribution for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3282 a description of regular expressions} that matches local hosts that do
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3283 not require the use of a gateway. If @code{nil}, then all connections
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3284 are made through the gateway.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3285
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3286 @vindex url-gateway-method
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3287 Emacs/W3 supports several methods of getting around gateways. The
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3288 variable @code{url-gateway-method} controls which of these methods is
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3289 used. This variable can have several values (use these as symbol names,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3290 not strings), ie: @samp{(setq url-gateway-method 'telnet)}. Possible
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3291 values are:
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
3292
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3293 @table @dfn
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3294 @item telnet
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3295 Use this method if you must first telnet and log into a gateway host,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3296 and then run telnet from that host to connect to outside machines.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3297
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
3298 :: WORK :: document telnet gw variables@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3299 This section needs more information, specifically documenting the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3300 following variables. For now, please do @key{C-h v} on the variable for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3301 more information.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3302
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3303 @table @code
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3304 @item url-gateway-telnet-host
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3305 @item url-gateway-telnet-parameters
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3306 @item url-gateway-telnet-password-prompt
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3307 @item url-gateway-telnet-puser-name
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3308 @item url-gateway-prompt-pattern
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3309 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3310
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3311 @item rlogin
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3312 This method is identical to the @code{telnet} method, but uses
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3313 @file{rlogin} to log into the remote machine without having to send the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3314 username and password over the wire every time.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3315
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
3316 :: WORK :: document rlogin gw variables@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3317 This section needs more information, specifically documenting the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3318 following variables. For now, please do @key{C-h v} on the variable for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3319 more information.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3320
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3321 @table @code
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3322 @item url-gateway-rlogin-host
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3323 @item url-gateway-rlogin-parameters
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3324 @item url-gateway-rlogin-user-name
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3325 @item url-gateway-prompt-pattern
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3326 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3327
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3328 @item tcp
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3329 Masanobu UMEDA (@i{umerin@@mse.kyutech.ac.jp}) has written a very small
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3330 application that you can run in a subprocess to do the network
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3331 connections.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3332
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3333 @item @sc{socks}
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3334 Use if the firewall has a @sc{socks} gateway running on it.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3335
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
3336 :: WORK :: document socks variables@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3337 This section needs more information, specifically documenting the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3338 following variables. For now, please do @key{C-h v} on the variable for
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3339 more information.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3340
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3341 @table @code
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3342 @item socks-host
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3343 @item socks-password
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3344 @item socks-username
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3345 @item socks-port
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3346 @item socks-timeout
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3347 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3348
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3349 @c @item ssl
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3350 @c This probably shouldn't be documented
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3351
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3352 @item native
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3353 This means that Emacs/W3 should use the builtin networking code of
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3354 Emacs. This should be used only if there is no firewall, or the Emacs
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3355 source has already been hacked to get around the firewall.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3356 @end table
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3357
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3358 Emacs/W3 should now be able to get outside the local network. If none
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3359 of this makes sense, its probably my fault. Please check with the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3360 network administrators to see if they have a program that does most of
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3361 this already, since somebody somewhere at the company has probably been
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3362 through something similar to this before, and would be much more
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3363 helpful/knowledgeable about the local setup than I would be. But feel
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3364 free to mail me as a last resort.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3365
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3366 @node Proxy Gateways, Installing SSL, Dealing with Firewalls, Top
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3367 @appendix Proxy Gateways
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3368 @vindex url-proxy-services
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3369 @cindex Proxy Servers
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3370 @cindex Proxies
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3371 @cindex Proxies, environment variables
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3372 @cindex HTTP Proxy
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3373
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3374 In late January 1993, Kevin Altis and Lou Montulli proposed and
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3375 implemented a new proxy service. This service requires the use of
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3376 environment variables to specify a gateway server/port # to send
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3377 protocol requests to. Each protocol (@sc{http}, @sc{wais}, gopher,
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3378 @sc{ftp}, etc.) can have a different gateway server. The environment
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3379 variables are @code{PROTOCOL}_proxy, where @code{PROTOCOL} is one of the
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3380 supported network protocols (gopher, file, @sc{http}, @sc{ftp}, etc.)
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3381
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3382 @cindex No Proxy
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3383 @cindex Proxies, exclusion lists
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3384 @vindex NO_PROXY
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3385 For companies with internal intranets, it will usually be helpful to
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3386 define a list of hosts that should be contacted directly, @b{not} sent
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3387 through the proxy. The @code{NO_PROXY} environment variable controls
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3388 what hosts are able to be contacted directly. This should be a comma
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3389 separated list of hostnames, domain names, or a mixture of both.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3390 Asterisks can be used as a wildcard. For example:
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3391
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3392 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3393 NO_PROXY=*.aventail.com,home.com,*.seanet.com
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3394 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3395
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3396 tells Emacs/W3 to contact all machines in the @b{aventail.com} and
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3397 @b{seanet.com} domains directly, as well as the machine named
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3398 @b{home.com}.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3399
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3400 @vindex url-proxy-services
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3401 @cindex Proxies, setting from lisp
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3402 For those adventurous souls who enjoy writing regular expressions, all
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3403 the proxy settings can be manipulated from Emacs-Lisp. The variable
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3404 @code{url-proxy-services} controls this. This is an assoc list, keyed
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3405 on the protocol type (@sc{http}, gopher, etc) in all lowercase. The
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3406 @code{cdr} of each entry should be the fully-specified @sc{url} of the proxy
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3407 server to contact, or, in the case of the special "no_proxy" entry, a
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3408 regular expression that matches any hostnames that should be contacted
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3409 directly.
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3410
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3411 @example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3412 (setq url-proxy-services '(("http" . "http://proxy.aventail.com/")
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3413 ("no_proxy" . "^.*\\(aventail\\|seanet\\)\.com")))
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3414 @end example
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3415
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
3416 @node Installing SSL, Mailcap Files, Proxy Gateways, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3417 @appendix Installing SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3418 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3419 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3420 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3421 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3422 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3423 @cindex Export Restrictions
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3424 In order to use SSL in Emacs/W3, an implementation of SSL is necessary.
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3425 Emacs/W3 is configued to work out of the box with SSLeay 0.6.6 or later.
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3426 For best results, you should apply a patch that makes the SSLeay client
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3427 much quieter about what it reports.
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3428
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3429 You can download SSLeay from
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3430 @url{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/}
110
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3431
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3432 The following variables control how the external program is invoked.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3433
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3434 @table @code
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3435 @item ssl-program-name
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3436 @vindex ssl-program-name
110
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3437 The name of the program to run, as a string.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3438
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3439 @example
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3440 (setq ssl-program-name "s_client")
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3441 @end example
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3442
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3443 @item ssl-program-arguments
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3444 @vindex ssl-program-arguments
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3445 This should be used if your SSL program needs command line switches to
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3446 specify any behaviour (certificate file locations, etc). This is a list
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3447 of strings and symbols.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3448
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3449 The special symbols 'host and 'port may be used in the list of arguments
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3450 and will be replaced with the hostname and service/port that will be
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3451 connected to.
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3452
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3453 @example
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3454 (setq ssl-program-arguments '("-host" host "-port" service "-verify" "4"
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3455 "-CApath /usr/local/ssl/certs"))
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3456 @end example
fe104dbd9147 Import from CVS: tag r20-1b7
cvs
parents: 108
diff changeset
3457 @end table
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
3458
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3459 @node Mailcap Files, Down with DoubleClick, Installing SSL, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3460 @appendix Mailcap Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3461 NCSA Mosaic and almost all other WWW browsers rely on a separate file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3462 for mapping MIME types to external viewing programs. This takes some of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3463 the burden off of browser developers, so each browser does not have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3464 support all image formats, or postscript, etc. Instead of having the
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3465 users of Emacs/W3 duplicate this in lisp, this file can be parsed using
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3466 the @code{mm-parse-mailcaps} function. This function is called each
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3467 time Emacs/W3 is loaded. It tries to locate mimetype files in several
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3468 places. If the environment variable @code{MAILCAPS} is nonempty, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3469 this is assumed to specify a UNIX-like path of mimetype files (this is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3470 colon separated string of pathnames). If the @code{MAILCAPS}
116
9f59509498e1 Import from CVS: tag r20-1b10
cvs
parents: 110
diff changeset
3471 environment variable is empty, then Emacs/W3 looks for these
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3472 files:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3474 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3475 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3476 @file{~/.mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3477 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3478 @file{/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3479 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3480 @file{/usr/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3481 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3482 @file{/usr/local/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3483 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3485 This format of this file is specified in RFC 1343, but a brief synopsis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3486 follows (this is taken verbatim from sections of RFC 1343).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3488 Each mailcap file consists of a set of entries that describe the proper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3489 handling of one media type at the local site. For example, one line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3490 might tell how to display a message in Group III fax format. A mailcap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3491 file consists of a sequence of such individual entries, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3492 newlines (according to the operating system's newline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3493 conventions). Blank lines and lines that start with the "#" character
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3494 (ASCII 35) are considered comments, and are ignored. Long entries may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3495 be continued on multiple lines if each non-terminal line ends with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3496 backslash character ('\', ASCII 92), in which case the multiple lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3497 are to be treated as a single mailcap entry. Note that for such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3498 "continued" lines, the backslash must be the last character on the line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3499 to be continued.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3501 Each mailcap entry consists of a number of fields, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3502 semi-colons. The first two fields are required, and must occur in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3503 specified order. The remaining fields are optional, and may appear in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3504 any order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3506 The first field is the content-type, which indicates the type of data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3507 this mailcap entry describes how to handle. It is to be matched against
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3508 the type/subtype specification in the "Content-Type" header field of an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3509 Internet mail message. If the subtype is specified as "*", it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3510 intended to match all subtypes of the named content-type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3512 The second field, view-command, is a specification of how the message or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3513 body part can be viewed at the local site. Although the syntax of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3514 field is fully specified, the semantics of program execution are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3515 necessarily somewhat operating system dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3517 The optional fields, which may be given in any order, are as follows:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3518 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3519 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3520 The "compose" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3521 compose a new body or body part in the given format. Its intended use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3522 is to support mail composing agents that support the composition of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3523 multiple types of mail using external composing agents. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3524 view- command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3525 dependent. The result of the composing program may be data that is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3526 yet suitable for mail transport---that is, a Content-Transfer-Encoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3527 may need to be applied to the data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3528 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3529 The "composetyped" field is similar to the "compose" field, but is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3530 used when the composing program needs to specify the Content-type header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3531 field to be applied to the composed data. The "compose" field is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3532 simpler, and is preferred for use with existing (non-mail-oriented)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3533 programs for composing data in a given format. The "composetyped" field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3534 is necessary when the Content-type information must include auxilliary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3535 parameters, and the composition program must then know enough about mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3536 formats to produce output that includes the mail type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3537 information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3538 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3539 The "edit" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3540 edit a body or body part in the given format. In many cases, it may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3541 identical in content to the "compose" field, and shares the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3542 operating-system dependent semantics for program execution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3543 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3544 The "print" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3545 print a message or body part in the given format. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3546 view-command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3547 dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3548 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3549 The "test" field may be used to test some external condition (e.g. the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3550 machine architecture, or the window system in use) to determine whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3551 or not the mailcap line applies. It specifies a program to be run to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3552 test some condition. The semantics of execution and of the value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3553 returned by the test program are operating system dependent. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3554 test fails, a subsequent mailcap entry should be sought. Multiple test
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3555 fields are not permitted---since a test can call a program, it can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3556 already be arbitrarily complex.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3557 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3558 The "needsterminal" field indicates that the view-command must be run on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3559 an interactive terminal. This is needed to inform window-oriented user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3560 agents that an interactive terminal is needed. (The decision is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3561 left exclusively to the view-command because in some circumstances it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3562 may not be possible for such programs to tell whether or not they are on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3563 interactive terminals.) The needsterminal command should be assumed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3564 apply to the compose and edit commands, too, if they exist. Note that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3565 this is NOT a test---it is a requirement for the environment in which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3566 the program will be executed, and should typically cause the creation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3567 a terminal window when not executed on either a real terminal or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3568 terminal window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3569 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3570 The "copiousoutput" field indicates that the output from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3571 view-command will be an extended stream of output, and is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3572 interpreted as advice to the UA (User Agent mail- reading program) that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3573 the output should be either paged or made scrollable. Note that it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3574 probably a mistake if needsterminal and copiousoutput are both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3575 specified.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3576 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3577 The "description" field simply provides a textual description,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3578 optionally quoted, that describes the type of data, to be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3579 optionally by mail readers that wish to describe the data before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3580 offering to display it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3581 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3582 The "x11-bitmap" field names a file, in X11 bitmap (xbm) format, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3583 points to an appropriate icon to be used to visually denote the presence
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3584 of this kind of data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3585 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3586 Any other fields beginning with "x-" may be included for local or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3587 mailer-specific extensions of this format. Implementations should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3588 simply ignore all such unrecognized fields to permit such extensions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3589 some of which might be standardized in a future version of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3590 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3591 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3592
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3593 @node Down with DoubleClick, General Index, Mailcap Files, Top
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3594 @appendix Down with DoubleClick
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 118
diff changeset
3595 :: WORK :: Document why doubleclick is evil@*
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3596 :: WORK :: Document how you can never see another ad from them again
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3597
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 82
diff changeset
3598 @node General Index, Key Index, Down with DoubleClick, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3599 @appendix General Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3600 @printindex fn
102
a145efe76779 Import from CVS: tag r20-1b3
cvs
parents: 100
diff changeset
3601 @node Key Index, , General Index, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3602 @appendix Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3603 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3604 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3605 @bye