Switch to recommended form of GPLv3 permissions notice.
[bpt/emacs.git] / etc / enriched.doc
CommitLineData
f604450a
BG
1Content-Type: text/enriched
2Text-Width: 70
20ea8f1d 3
f604450a 4<center><x-bg-color><param>blue</param><x-color><param>white</param><bold><fixed>enriched.el:</fixed></bold></x-color></x-bg-color>
20ea8f1d 5
f604450a 6<x-bg-color><param>blue</param><x-color><param>white</param><bold>WYSIWYG rich text editing for GNU Emacs</bold></x-color></x-bg-color>
591d257e 7
591d257e 8
5418a92b 9</center><bold><x-bg-color><param>blue</param><x-color><param>white</param>INTRODUCTION</x-color></x-bg-color></bold>
591d257e 10
591d257e
BG
11
12
5418a92b
RS
13<indent>Emacs now has the ability to edit <italic>enriched text</italic>, which is text
14containing faces, colors, indentation, and other properties. This
15document is a quick introduction to some of the new features, and
16is also an example file in the <italic>text/enriched </italic>format.</indent>
591d257e
BG
17
18
5418a92b
RS
19<x-bg-color><param>blue</param><x-color><param>white</param><bold>INSTALLATION and STARTUP</bold></x-color></x-bg-color>
20
591d257e 21
f604450a
BG
22<indent>Most of the time, you need not do anything to get these features
23to work. If you visit a file that has been written out in
24<italic>text/enriched</italic> format, it will automatically be decoded, Emacs will
25enter `enriched-mode' while visiting it, and whenever you save it
26it will be saved in the same format it was read in.
591d257e 27
f604450a
BG
28If you wish to create a new file, however, you will need to turn
29on enriched-mode yourself:
591d257e
BG
30
31
5418a92b 32<fixed><indent>M-x enriched-mode RET</indent></fixed>
591d257e
BG
33
34
f604450a
BG
35Or, if you get a <italic>text/enriched </italic>file that Emacs does not
36automatically recognize and decode, you can tell Emacs to decode
37it (which also turns on enriched-mode automatically):
591d257e
BG
38
39
5418a92b 40<fixed><indent>M-x format-decode-buffer RET text/enriched RET</indent></fixed></indent>
591d257e 41
f604450a 42
591d257e 43
5418a92b 44<x-bg-color><param>blue</param><x-color><param>white</param><bold>WHAT IS ENCODED</bold></x-color></x-bg-color>
591d257e
BG
45
46
5418a92b
RS
47<indent>Here is the current list of text-properties that are saved; they
48are discussed in more detail below. Most of these can be added or
49changed with the "Text Properties" menu, available under the
50"Edit" item in the menu-bar, or on C-mouse-2 (Control + the middle
51mouse button).
591d257e 52
5418a92b 53<bold>Faces:</bold> <indent>default, <bold>bold</bold>, <italic>italic</italic>, <underline>underline</underline>, etc.</indent>
591d257e 54
5418a92b 55<bold>Colors:</bold> <x-color><param>red</param><x-bg-color><param>DarkSlateGray</param><indent>any</indent></x-bg-color></x-color><x-bg-color><param>DarkSlateGray</param><indent><x-color><param>orange</param>thing</x-color> <x-color><param>yellow</param>your</x-color><x-color><param>green</param> screen</x-color><x-color><param>blue</param> </x-color><x-color><param>light blue</param>can</x-color><x-color><param>violet</param> display...</x-color></indent></x-bg-color>
591d257e 56
f604450a 57<bold>Newlines:</bold> <indent>Which ones are real ("hard") newlines, and which can be
5418a92b 58changed to fit lines into the margins.</indent>
591d257e 59
5418a92b 60<bold>Margins:</bold> <indent>can be indented on the left or right.</indent>
591d257e 61
5418a92b
RS
62<bold>Justification</bold> <indent>(whether lines should be flush with the left margin,
63the right margin, fully justified, centered, or left alone).</indent>
591d257e 64
5418a92b 65<bold>Excerpts:</bold><indent> <excerpt>"For quoted material."</excerpt></indent>
591d257e 66
f604450a 67<bold>Read-only</bold> regions.
591d257e 68
5418a92b 69</indent>
591d257e 70
5418a92b 71<x-bg-color><param>blue</param><x-color><param>white</param><bold>FACES and COLORS</bold></x-color></x-bg-color>
591d257e 72
591d257e 73
5418a92b 74<indent>You can add faces either with the menu or with <fixed>M-g.</fixed> The face is
f604450a
BG
75applied to the current region. If you are using
76`transient-mark-mode' and the region is not active, then the face
8585e165
TTN
77applies to whatever you type next. Any face can have colors. If
78this is its lone attribute, the face is put on the color submenus
79of the "Text Properties" menu.</indent>
591d257e 80
591d257e 81
5418a92b 82<x-bg-color><param>blue</param><x-color><param>white</param><bold>NEWLINES and PARAGRAPHS</bold></x-color></x-bg-color>
591d257e 83
591d257e 84
5418a92b 85<italic><indent>Text/enriched</indent></italic><indent> format distinguishes between <underline>hard</underline> and <underline>soft</underline> newlines.
f604450a
BG
86Hard newlines are used to separate paragraphs, or items in a list,
87or anywhere that must be a line break no matter what the margins
88are. Soft newlines are the ones inserted in order to fit text
89between the margins. The fill and auto-fill functions insert soft
90newlines as necessary, but hard newlines are only inserted by
91direct request, such as using the return key or the <fixed>C-o
5418a92b
RS
92(open-line)</fixed> function.</indent>
93
591d257e 94
5418a92b 95<x-bg-color><param>blue</param><x-color><param>white</param><bold>INDENTATION</bold></x-color></x-bg-color>
591d257e 96
591d257e 97
5418a92b
RS
98<indent>The fill functions also understand margins, which can be set for
99any region of a document. In addition to the menu items, which
100increase or decrease the margins, there are two commands for
0c4f5f23
LT
101setting the margins absolutely: <fixed>C-c [ (set-left-margin)</fixed> and <fixed>C-c
102] (set-right-margin)</fixed>.
591d257e 103
591d257e 104
5418a92b
RS
105You <indent>can change indentation at any point in a paragraph, which
106makes it possible to do interesting things like
107hanging-indents: this paragraph was indented by selecting the
f604450a 108region from the second word to the end of the paragraph, and
5418a92b 109indenting only that part.</indent></indent>
591d257e 110
591d257e 111
5418a92b 112<x-bg-color><param>blue</param><x-color><param>white</param><bold>JUSTIFICATION</bold></x-color></x-bg-color>
591d257e
BG
113
114
5418a92b
RS
115
116<indent><nofill>Several styles of justification are possible, the simplest being <italic>unfilled.
f604450a 117</italic>This means that your lines will be left as you write them.
5418a92b
RS
118This paragraph is unfilled.</nofill>
119
591d257e 120
5418a92b
RS
121<flushleft>The most common (for English) style is <italic>FlushLeft. </italic>This means
122lines are aligned at the left margin but left uneven at the right.</flushleft>
591d257e 123
591d257e 124
5418a92b
RS
125<flushright> <italic>FlushRight</italic> makes each line flush with the right margin instead.
126 This paragraph is FlushRight.</flushright>
591d257e 127
f604450a 128
591d257e 129
5418a92b 130<flushboth><italic>FlushBoth </italic>regions, which are sometimes called "fully justified"
f604450a
BG
131are aligned evenly on both edges, so that the text on the page has
132a smooth appearance as in a book or newspaper article.
133Unfortunately this does not look as nice with a fixed-width font
134as it does in a proportionally-spaced printed document; the extra
5418a92b 135spaces that are needed on the screen can make it hard to read. </flushboth>
591d257e 136
5418a92b 137<center>
591d257e 138
5418a92b 139 <bold>Center</bold>
591d257e 140
5418a92b
RS
141 Finally, there is <italic>center </italic>justification. The normal
142 center-paragraph key, M-S, can be used to turn on center
143 justification in enriched-mode.
591d257e 144
5418a92b 145 M-j or the "Text Properties" menu also can be used to change
f604450a 146 justification.
591d257e 147
f604450a 148
591d257e 149
f604450a 150</center><flushboth>Note that justification can only change at hard newlines, because
5418a92b 151that is the unit over which filling gets done. </flushboth></indent>
591d257e 152
591d257e 153
5418a92b 154<x-bg-color><param>blue</param><x-color><param>white</param><bold>EXCERPTS</bold></x-color></x-bg-color>
591d257e 155
591d257e 156
f604450a
BG
157<excerpt><indent>This is an example of an excerpt. You can use them for quoted
158parts of other people's email messages and the like. It is just a
5418a92b 159face, which is the same as the `italic' face by default.</indent></excerpt>
591d257e 160
591d257e 161
5418a92b 162<x-bg-color><param>blue</param><x-color><param>white</param><bold>THE FILE FORMAT</bold></x-color></x-bg-color>
591d257e 163
5418a92b
RS
164
165<indent>Enriched-mode documents are saved in an extended version of a
f604450a
BG
166format called <italic>text/enriched</italic>, which is defined as part of the MIME
167standard. This means that your documents are transportable (even
5418a92b 168through email) to many other systems. In the future other file
f604450a 169formats may be supported as well.
591d257e
BG
170
171
f604450a 172Since Emacs adds some non-standard features to the format (colors
f604450a
BG
173and read-only regions), not all systems will be able to recreate
174all of the features of your document, but they will get as close
5418a92b 175as possible.
591d257e 176
591d257e 177
5418a92b 178The MIME standard is defined in </indent>Internet<indent> RFC 1521; text/enriched
f604450a
BG
179is defined in RFC 1563. Details on obtaining these documents via
180FTP or email may be obtained by sending an email message to
181<fixed>rfc-info@isi.edu</fixed> with the message body:
591d257e 182
5418a92b
RS
183
184<fixed><indent>help: ways_to_get_rfcs</indent></fixed>
591d257e 185
591d257e 186
5418a92b 187<indent>See also the newsgroup <fixed>comp.mail.mime</fixed>.</indent></indent>
591d257e 188
591d257e 189
5418a92b 190<x-bg-color><param>blue</param><x-color><param>white</param><bold>CUSTOMIZATION</bold></x-color></x-bg-color><bold>
591d257e 191
591d257e 192
f604450a 193</bold><indent>-<indent> The <fixed>fixed </fixed>and <excerpt>excerpt </excerpt>faces should be set to your liking.</indent>
591d257e 194
5418a92b
RS
195-<indent> User-preference variables: <fixed>default-justification,
196enriched-verbose.
197
198</fixed></indent>-<indent> You can add annotations for your own text properties by making
3326c1b5
LT
199additions to <fixed>enriched-translations</fixed>. Note that the standard
200requires you to name your annotation starting<italic> "x-" </italic>(as in
201<italic>"x-read-only"</italic>). Please send me any such additions that you
202think might be of general interest so that I can include them
203in the distribution.</indent>
5418a92b
RS
204
205</indent>
591d257e 206
5418a92b 207<x-bg-color><param>blue</param><x-color><param>white</param><bold>TO-DO LIST</bold></x-color></x-bg-color>
591d257e
BG
208
209
5418a92b 210<italic><indent>[Feel free to work on these and send me the results!]</indent></italic><indent>
591d257e 211
5418a92b 212+ Conform to updated text/enriched spec in RFC 1896.
591d257e 213
5418a92b 214+ Be smarter about fixing malformed files.
591d257e 215
5418a92b 216+ Make the indentation work more seamlessly and robustly:
591d257e 217
5418a92b
RS
218+ Create<indent> an aggressive auto-fill function that will keep the
219paragraph properly filled all the time, without slowing down
7871d11e 220editing too much. Refill mode is a start at this, but needs
591d257e 221
7871d11e
DL
222</indent></indent> <indent>improvment.
223
224+ Refill after yank. [Refill mode does that.]
591d257e 225
5418a92b
RS
226+<indent> Make deleting a newline also delete the indentation following
227it.</indent>
591d257e 228
f604450a 229+ Never let point enter indentation??
591d257e 230
5418a92b 231+ Notice and re-fill when window changes widths (optionally).
591d257e 232
5418a92b 233+ Deal with the `category' text-property in a smart way.
591d257e 234
7871d11e
DL
235+ Interface w/ Gnus, VM, RMAIL. Maybe Info too? </indent>(Gnus 5.9 copes
236
237 with text/enriched incoming mail.)<indent>
591d257e 238
5418a92b 239+ Support more formats: RTF, HTML...
591d257e 240
7871d11e
DL
241+ Use Emacs 21 display features.
242
5418a92b 243</indent>
591d257e 244
5418a92b 245<x-bg-color><param>blue</param><x-color><param>white</param><bold>Final Notes:</bold></x-color></x-bg-color>
591d257e 246
591d257e 247
5418a92b
RS
248<indent>This code and documentation is under development. Comments and
249bug reports are welcome.</indent>
591d257e
BG
250
251
f604450a 252<bold><x-color><param>white</param><x-bg-color><param>blue</param>Boris Goldowsky</x-bg-color></x-color><x-color><param>light blue</param> </x-color></bold><x-color><param>light blue</param><fixed><<boris@gnu.ai.mit.edu></fixed></x-color><x-color><param>blue</param>
591d257e 253
5418a92b 254</x-color><x-bg-color><param>blue</param><x-color><param>white</param>April 1995; updated August 1997</x-color></x-bg-color>
591d257e 255
8585e165 256
b727702b
EZ
257
258\f
1bb97e22 259Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
0a33da51 260Free Software Foundation, Inc.
b727702b
EZ
261
262COPYING PERMISSIONS:
263
ab73e885 264 This document is free software: you can redistribute it and/or modify
b727702b 265 it under the terms of the GNU General Public License as published by
ab73e885
GM
266 the Free Software Foundation, either version 3 of the License, or
267 (at your option) any later version.
b727702b
EZ
268
269 This program is distributed in the hope that it will be useful,
270 but WITHOUT ANY WARRANTY; without even the implied warranty of
271 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
272 GNU General Public License for more details.
273
274 You should have received a copy of the GNU General Public License
ab73e885 275 along with this program. If not, see <http://www.gnu.org/licenses/>.