Lines Matching full:the
2 The Speakup User's Guide
11 Copyright (c) 2009, 2010 the Speakup Team
14 under the terms of the GNU Free Documentation License, Version 1.2 or
15 any later version published by the Free Software Foundation; with no
17 copy of the license is included in the section entitled "GNU Free
22 The purpose of this document is to familiarize users with the user
24 for installing or obtaining Speakup, visit the web site at
25 http://linux-speakup.org/. Speakup is a set of patches to the standard
27 a part of a monolithic kernel. These details are beyond the scope of
28 this manual, but the user may need to be aware of the module
30 Speakup. If Speakup is built as a part of a monolithic kernel, and the
32 provide speech access from the time the kernel is loaded, until the time
33 the system is shutdown. This means that if you have obtained Linux
37 are beyond the scope of this manual, but the user should be aware of
38 them. See the web site mentioned above for further details.
49 It is possible, however, that Speakup may have been compiled into the
51 kernel has been compiled with support for some of the supported
52 synthesizers and not others. If you find that this is the case, and
53 your synthesizer is supported but not available, complain to the person
54 who compiled and installed your kernel. Or better yet, go to the web
60 the default one, then you may issue the following command at the boot
66 DoubleTalk LT at boot up. You may replace the ltlk synthesizer keyword
67 with the keyword for whatever synthesizer you wish to use. The
68 speakup.synth parameter will accept the following keywords, provided
69 that support for the related synthesizers has been built into the
86 Note: Speakup does * NOT * support the internal Tripletalk!
96 By default speakup looks for the synthesizer on the ttyS0 serial port. This can
97 be changed with the device parameter of the modules, for instance for
102 See the sections on loading modules and software synthesizers later in
103 this manual for further details. It should be noted here that the
106 the boot process, such action must be configured by your system
108 the bootup messages.
112 Once you have booted the system, and if necessary, have supplied the
114 talking as soon as the kernel is loaded. In fact, it will talk a lot!
115 It will speak all the boot up messages that the kernel prints on the
116 screen during the boot process. This is because Speakup is not a
117 separate screen reader, but is actually built into the operating
118 system. Since almost all console applications must print text on the
119 screen using the kernel, and must get their keyboard input through the
123 Note: In this guide I will refer to the numeric keypad as the keypad.
124 This is done because the speakupmap.map file referred to later in this
125 manual uses the term keypad instead of numeric keypad. Also I'm lazy
128 Most of the Speakup review keys are located on the keypad at the far
129 right of the keyboard. The numlock key should be off, in order for these
130 to work. If you toggle the numlock on, the keypad will produce numbers,
131 which is exactly what you want for spreadsheets and such. For the
132 purposes of this guide, you should have the numlock turned off, which is
135 You probably won't want to listen to all the bootup messages every time
138 you during the boot process. You can always review these messages after
139 bootup with the command:
143 In order to speed the boot process, and to silence the speaking of the
144 bootup messages, just press the keypad enter key. This key is located
145 in the bottom right corner of the keypad. Speakup will shut up and stay
148 You can check to see if the boot process has completed by pressing the 8
149 key on the keypad, which reads the current line. This also has the
151 to silence it again if the boot process has not completed.
153 When the boot process is complete, you will arrive at a "login" prompt.
155 provided by your system administrator. You will hear Speakup speak the
156 letters of your user id as you type it, but not the password. This is
157 because the password is not displayed on the screen for security
166 speak new text as it arrives on the screen. You can at any time silence
167 the speech with keypad enter, or use any of the Speakup review keys.
174 the current character phonetically)
177 keypad 5 -- read current word (press twice rapidly to spell the current word)
180 keypad 8 -- read current line (press twice rapidly to hear how much the
181 text on the current line is indented)
186 It's also worth noting that the insert key on the keypad is mapped
187 as the speakup key. Instead of pressing and releasing this key, as you
190 insert, from now on called speakup, and keypad enter will toggle the
191 speaking of new text on the screen on and off. This is not the same as
192 just pressing keypad enter by itself, which just silences the speech
195 Speakup is turned off, no new text on the screen will be spoken. You
196 can still use the reading controls to review the screen however.
198 3. Using the Speakup Help System
200 In order to enter the Speakup help system, press and hold the speakup
201 key (remember that this is the keypad insert key), and press the f1 key.
202 You will hear the message:
207 When you press the spacebar to leave the help system, you will hear:
211 While you are in the Speakup help system, you can scroll up or down
212 through the list of available commands using the cursor keys. The list
214 commands in a specific part of the alphabet, you may press the letter of
215 the alphabet you wish to jump to.
218 cause Speakup to speak the command associated with that key. For
219 example, if you press the keypad 8 key, you will hear:
225 accessible through the sys system. We'll discuss the sys system later
230 for laptop users. The alternate speakup key is the caps lock key. You
231 can press and hold the caps lock key, while pressing an alternate
232 speakup command key to activate the command. On most laptops, the
233 numeric keypad is defined as the keys in the j k l area of the keyboard.
236 off, and some other key which controls the numlock state. Toggling the
244 beyond the scope of this manual. To use the caps lock for its normal
245 purpose, hold the shift key while toggling the caps lock on and off. We
246 should note here, that holding the caps lock key and pressing the z key
247 will toggle the alternate j k l keypad on and off.
251 In this section, we'll go through a list of all the speakup keys and
253 the help system.
255 The following list was taken from the speakupmap.map file. Key
256 assignments are on the left of the equal sign, and the associated
257 Speakup commands are on the right. The designation "spk" means to press
258 and hold the speakup key, a.k.a. keypad insert, a.k.a. caps lock, while
259 pressing the other specified key.
354 5. The Speakup Sys System
356 The Speakup screen reader also creates a speakup subdirectory as a part
357 of the sys system.
364 You can see these entries by typing the command:
368 If you issue the above ls command, you will get back something like
423 Notice the two subdirectories of /speakup: /speakup/i18n and
425 The i18n subdirectory is described in a later section.
426 The files under /speakup/soft represent settings that are specific to the
427 driver for the software synthesizer. If you use the LiteTalk, your
430 to the device whose keyword is KWD.
433 In addition to using the Speakup hot keys to change such things as
434 volume, pitch, and rate, you can also echo values to the appropriate
435 entry in the /speakup directory. This is very useful, since it
437 would write such scripts is somewhat beyond the scope of this manual,
441 Suppose for example, that you wanted to control both the punctuation
442 level and the reading punctuation level at the same time. For
443 simplicity, we'll call them punc0, punc1, punc2, and punc3. The scripts
475 path, perhaps /usr/local/bin, and set the permissions to 755 with the
476 chmod command, then you could change the default reading punc and
477 punctuation levels at the same time by issuing just one command. For
478 example, if you were to execute the punc3 command at your shell prompt,
479 then the reading punc and punc level would both get set to 3.
481 I should note that the above scripts were written to work with bash, but
485 The Speakup sys system also has another interesting use. You can echo
486 Speakup parameters into the sys system in a script during system
488 the system is rebooted.
490 Most of the Speakup sys parameters can be manipulated by a regular user
491 on the system. However, there are a few parameters that are dangerous
492 enough that they should only be manipulated by the root user on your
494 be written to at all. For example, the version entry in the Speakup
496 to tamper with the version number which is reported by Speakup. Doing
501 As you can see, the version entry in the Speakup sys system is read
502 only, is owned by root, and belongs to the root group. Doing a cat of
503 /speakup/version will display the Speakup version number, like
510 The display shows the Speakup version number, along with the version
511 number of the driver for the current synthesizer.
513 Looking at entries in the Speakup sys system can be useful in many
518 # Replace KWD with the keyword for your synthesizer, E.G., ltlk for LiteTalk.
521 The number five which comes back is the level at which the synthesizer
524 All the entries in the Speakup sys system are readable, some are
526 know what you are doing, you should probably leave the ones that are
527 writable by root only alone. Most of the names are self explanatory.
530 can post a query on the Speakup list.
535 running. In other words, it is not necessary to reboot the system
536 in order to use a different synthesizer. You can simply echo the
537 synthesizer keyword to the /speakup/synth sys entry.
538 Depending on your situation, you may wish to echo none to the synth
540 a second one is connected in its place. Then echo the keyword for the
541 new synthesizer into the synth sys entry in order to start speech
542 with the newly connected synthesizer. See the list of synthesizer
543 keywords in section 1 to find the keyword which matches your synth.
547 As mentioned earlier, Speakup can either be completely compiled into the
548 kernel, with the exception of the help module, or it can be compiled as
550 able to speak some of the bootup messages if your system administrator
551 has configured the system to load the modules at boot time. The modules
552 can be loaded after the file systems have been checked and mounted, or
554 with some components built into the kernel, and others as modules. As
555 we'll see in the next section, this is particularly useful when you are
558 If Speakup is completely compiled as modules, then you must use the
559 modprobe command to load Speakup. You do this by loading the module for
560 the synthesizer driver you wish to use. The driver modules are all
561 named speakup_<keyword>, where <keyword> is the keyword for the
562 synthesizer you want. So, in order to load the driver for the DecTalk
563 Express, you would type the following command:
567 Issuing this command would load the DecTalk Express driver and all other
571 as modules, you would give the command:
575 The above command assumes you were running a DecTalk Express. If you
581 For example, if you have loaded both the dectlk and ltlk drivers, use the
585 You cannot unload the driver for software synthesizers when a user-space
586 daemon is using /dev/softsynth. First, kill the daemon. Next, remove
587 the driver with the command:
590 Now, suppose we have a situation where the main Speakup component
591 is built into the kernel, and some or all of the drivers are built as
592 modules. Since the main part of Speakup is compiled into the kernel, a
594 of by simply echoing the synthesizer keyword into the
595 /speakup/synth sys entry. This will cause the kernel to
596 automatically load the appropriate driver module, and start Speakup
597 talking. To switch to another synth, just echo a new keyword to the
598 synth sys entry. For example, to load the DoubleTalk LT driver,
603 You can use the modprobe -r command to unload driver modules, regardless
604 of whether the main part of Speakup has been built into the kernel or
617 During the rest of this section, we assume that speakup_soft is either
621 software synthesizer, you must have created the /dev/softsynth device.
622 If you have not already done so, issue the following commands as root:
627 While we are at it, we might just as well create the /dev/synth device,
629 synthesizer. To create /dev/synth, change to the /dev directory, and
630 issue the following command as root:
638 Espeakup is a connector between Speakup and the eSpeak software synthesizer.
641 You can find it in the contrib/ subdirectory of the Speakup sources.
642 The filename is espeakup-$VERSION.tar.bz2, where $VERSION
643 depends on the current release of Espeakup. The Speakup 3.1.2 source
645 The README file included with the Espeakup sources describes the process
648 Assuming that Espeakup is installed, either by the user or by the distributor,
651 Tell Speakup to use the "soft driver:
654 Finally, start the espeakup program. There are two ways to do it.
658 you probably have a distribution-specific script that controls the operation
659 of the daemon. Look for a file named espeakup under /etc/init.d or
660 /etc/rc.d. Execute the following command with root privileges:
666 daemons are started by the bootup scripts.
669 If you built Espeakup manually, the "make install" step placed the binary
671 Run the following command as root:
682 might also choose to purchase the Software DecTalk from Fonix Sales Inc.
686 http://www.freebsoft.org/. Follow the installation instructions that
688 Dispatcher. You can check out the web site for your Linux distribution
695 You get it from the free(b)soft web site mentioned above. After you've
700 echo the soft keyword to the synth sys entry like this:
704 Next run the speechd_up command like this:
709 the pitch, rate, etc.
711 9. Using The DecTalk PC Card
713 The DecTalk PC card is an ISA card that is inserted into one of the ISA
714 slots in your computer. It requires that the DecTalk PC software be
715 installed on your computer, and that the software be loaded onto the
718 You can get the dec_pc.tgz file from the linux-speakup.org site. The
719 dec_pc.tgz file is in the ~ftp/pub/linux/speakup directory.
721 After you have downloaded the dec_pc.tgz file, untar it in your home
722 directory, and read the Readme file in the newly created dec_pc
725 The easiest way to get the software working is to copy the entire dec_pc
727 directory, and issue the command:
731 You will need to copy the dtload command from the dec_pc directory to a
735 You can now run the dtload command in order to load the DecTalk PC
736 software onto the card. After you have done this, echo the decpc
737 keyword to the synth entry in the sys system like this:
741 Your DecTalk PC should start talking, and then you can adjust the pitch,
742 rate, volume, voice, etc. The voice entry in the Speakup sys system
743 will accept a number from 0 through 7 for the DecTalk PC synthesizer,
744 which will give you access to some of the DecTalk voices.
750 automatically speak characters as you move left and right with the
751 cursor keys, and lines as you move up and down with the cursor keys.
752 This is the traditional sort of cursor tracking.
753 Recent versions of Speakup provide two additional ways to control the
754 text that is spoken when the cursor is moved:
760 You may select among the various forms of cursor tracking using the keypad
763 the name of the new mode. The names for the four possible states of cursor
765 and "cursoring off." The keypad asterisk key moves through the list of
769 rather than the cursor itself. When you move the cursor with the arrow keys,
770 Speakup speaks the currently highlighted information.
775 With the "read window" variety of cursor tracking, you can limit the text
776 that Speakup speaks by specifying a window of interest on the screen.
777 See section 15 for a description of the process of defining windows.
778 When you move the cursor via the arrow keys, Speakup only speaks
779 the contents of the window. This is especially helpful when you are hearing
780 superfluous speech. Consider the following example.
783 explore your command history using the up and down arrow keys. If you
785 Speakup speaks both your shell prompt and the current entry from the
786 command history. You may not want to hear the prompt repeated
788 the last line of text on the screen. Clear the current window by pressing
789 the key combination speakup f3. Use the review cursor to find the first
791 define a one-line window. The boundaries of the window are the
792 character following the shell prompt and the end of the line. Now, cycle
793 through the cursor tracking modes using keypad asterisk, until Speakup
795 You will notice that Speakup no longer speaks the redundant prompt.
797 Some folks like to turn cursor tracking off while they are using the
799 you are using the alsamixer application. Otherwise, you won't be able
800 to hear your mixer settings while you are using the arrow keys.
804 One of Speakup's more useful features is the ability to cut and paste
805 text on the screen. This means that you can capture information from a
806 program, and paste that captured text into a different place in the
813 past the following url into your browser:
817 Use the speakup review keys to position the reading cursor on the first
818 character of the above url. When the reading cursor is in position,
819 press the keypad slash key once. Speakup will say, "mark". Next,
820 position the reading cursor on the rightmost character of the above
821 url. Press the keypad slash key once again to actually cut the text
822 from the screen. Speakup will say, "cut". Although we call this
823 cutting, Speakup does not actually delete the cut text from the screen.
824 It makes a copy of the text in a special buffer for later pasting.
826 Now that you have the url cut from the screen, you can paste it into
827 your browser, or even paste the url on a command line as an argument to
830 Suppose you want to start lynx and go to the Speakup site.
832 You can switch to a different console with the alt left and right
838 type the word lynx, followed by a space. Now press and hold the speakup
839 key, while you type the keypad slash character. The url will be pasted
840 onto the command line, just as though you had typed it in. Press the
841 enter key to execute the command.
843 The paste buffer will continue to hold the cut information, until a new
844 mark and cut operation is carried out. This means you can paste the cut
848 You are not limited to cutting and pasting only one line on the screen.
849 You can also cut and paste rectangular regions of the screen. Just
850 position the reading cursor at the top left corner of the text to be
851 cut, mark it with the keypad slash key, then position the reading cursor
852 at the bottom right corner of the region to be cut, and cut it with the
855 12. Changing the Pronunciation of Characters
857 Through the /speakup/i18n/characters sys entry, Speakup gives you the
862 You may, for example, wish to change how Speakup pronounces the z
863 character. The author of Speakup, Kirk Reiser, is Canadian, and thus
864 believes that the z should be pronounced zed. If you are an American,
865 you might wish to use the zee pronunciation instead of zed. You can
866 change the pronunciation of both the upper and lower case z with the
872 Let's examine the parts of the two previous commands. They are issued
873 at the shell prompt, and could be placed in a startup script.
875 The word echo tells the shell that you want to have it display the
876 string of characters that follow the word echo. If you were to just
881 You would get the word hello printed on your screen as soon as you
882 pressed the enter key. In this case, we are echoing strings that we
883 want to be redirected into the sys system.
885 The numbers 90 and 122 in the above echo commands are the ascii numeric
886 values for the upper and lower case z, the characters we wish to change.
888 The string zee is the pronunciation that we want Speakup to use for the
891 The > symbol redirects the output of the echo command to a file, just
892 like in DOS, or at the Windows command prompt.
894 And finally, /speakup/i18n/characters is the file entry in the sys system
895 where we want the output to be directed. Speakup looks at the numeric
896 value of the character we want to change, and inserts the pronunciation
899 You can look at the whole table with the following command:
903 Speakup will then print out the entire character pronunciation table. I
908 Speakup has the capability of allowing you to assign or "map" keys to
911 configured with Speakup. How you do this is beyond the scope of this
912 manual. For this information, visit the Speakup web site at
913 http://linux-speakup.org/. The reason you'll need the kernel source
914 tree patched with Speakup is that the genmap utility you'll need for
915 processing keymaps is in the
916 /usr/src/linux-<version_number>/drivers/char/speakup directory. The
917 <version_number> in the above directory path is the version number of
918 the Linux source tree you are working with.
923 You can either use the
925 included with the Speakup source, or you can cut and paste the copy in
926 section 4 into a separate file. If you use the one in the Speakup
930 Suppose that you want to swap the key assignments for the Speakup
931 say_last_char and the Speakup say_first_char commands. The
932 speakupmap.map lists the key mappings for these two commands as follows:
937 You can edit your copy of the speakupmap.map file and swap the command
938 names on the right side of the = (equals) sign. You did make a backup,
939 right? The new keymap lines would look like this:
944 After you edit your copy of the speakupmap.map file, save it under a new
945 file name, perhaps newmap.map. Then exit your editor and return to the
949 Assuming that you saved your new keymap as the file newmap.map, you
950 would load your keymap into the sys system like this:
955 Remember to substitute your kernel version number for the
956 <version_number> in the above command. Also note that although the
961 speakup pagedown should read you the first non-whitespace character on
962 the line your reading cursor is in, and pressing speakup pageup should
963 read you the last character on the line your reading cursor is in.
969 find that all the mappings you didn't include in your file got deleted
970 from the working map. Be extremely careful, and always make a backup!
975 Speakup indicates various conditions to the user by speaking messages.
976 For instance, when you move to the left edge of the screen with the
981 In version 3.1.0 or higher, one may load translations for the various
982 messages via the /sys filesystem.
984 The directory /speakup/i18n contains several collections of messages.
986 The following section lists all of these files, along with a brief description
989 14.1. Files Under the i18n Subdirectory
995 You will also find the names of the screen edges and cursor tracking modes
1002 See section 12. Unlike the rest of the files in the i18n subdirectory,
1006 When you use the "say attributes" function, Speakup says the name of the
1007 foreground and background colors. These names come from the i18n/colors
1016 the type and width of displayed data. If you change these, you must
1017 preserve all of the formatting codes, and they must appear in the order
1018 used by the default messages.
1022 by the help system. For example, suppose that you have activated help mode,
1025 The message "character, say next" names a Speakup function, and it
1029 Again, key_names is used by Speakup's help system. In the previous
1031 This name came from the key_names file.
1035 Again, these are part of the help system. For instance, if you had pressed
1038 The speakup key is depressed, so the name of the key state is speakup.
1039 This part of the message comes from the states collection.
1045 The files under the i18n subdirectory all follow the same format.
1047 Each message is represented by a number, followed by the text of the message.
1048 The number is the position of the message in the given collection.
1049 For example, if you view the file /speakup/i18n/colors, you will see the
1064 the cp command:
1066 You can change an individual message with the echo command,
1067 as shown in the following example.
1069 The Spanish name for the color blue is azul.
1070 Looking at the colors file, we see that the name "blue" is at position 1
1071 within the colors group. Let's change blue to azul:
1073 The next time that Speakup says message 1 from the colors group, it will
1078 In the future, translations into various languages will be made available,
1079 and most users will just load the files necessary for their language. So far,
1084 Canadian English is the default language. To toggle another language,
1085 download the source of Speakup and untar it in your home directory. The
1090 where <version> is the version number of the application.
1092 Next, change to the newly created directory, then into the tools/ directory, and
1093 run the script speakup_setlocale. You are asked the language that you want to
1094 use. Type the number associated to your language (e.g. fr for French) then press
1095 Enter. Needed files are copied in the i18n directory.
1097 Note: the speakupconf must be installed on your system so that settings are saved.
1099 have to run the script again every time Speakup restarts.
1103 change the speakup's language or charset (iso-8859-15 ou UTF-8).
1105 If you wish store the settings, note that at your next login, you will need to
1110 Alternatively, you can add the above line to your file
1113 If your system administrator himself ran the script, all the users will be able
1114 to change from English to the language chosen by root and do directly
1115 speakupconf load (or add this to the ~/.bashrc or
1116 ~/.bash_profile file). If there are several languages to handle, the
1117 administrator (or every user) will have to run the first steps until speakupconf
1118 save, choosing the appropriate language, in every user's home directory. Every
1123 As of the current release, Speakup only supports Western European languages.
1124 Support for the extended characters used by languages outside of the Western
1129 Speakup has the capability of defining and manipulating windows on the
1130 screen. Speakup uses the term "Window", to mean a user defined area of
1131 the screen. The key strokes for defining and manipulating Speakup
1134 speakup + f2 -- Set the bounds of the window.
1135 Speakup + f3 -- clear the current window definition.
1137 speakup + keypad plus -- Say the currently defined window.
1139 These capabilities are useful for tracking a certain part of the screen
1140 without rereading the whole screen, or for silencing a part of the
1147 In order to define a window, use the review keys to move your reading
1148 cursor to the beginning of the area you want to define. Then press
1149 speakup + f2. Speakup will tell you that the window starts at the
1150 indicated row and column position. Then move the reading cursor to the
1151 end of the area to be defined as a window, and press speakup + f2 again.
1152 If there is more than one line in the window, Speakup will tell you
1153 that the window ends at the indicated row and column position. If there
1154 is only one line in the window, then Speakup will tell you that the
1155 window is the specified line on the screen. If you are only defining a
1156 one line window, you can just press speakup + f2 twice after placing the
1157 reading cursor on the line you want to define as a window. It is not
1158 necessary to position the reading cursor at the end of the line in order
1159 to define the whole line as a window.
1163 The speakup distribution includes extra tools (in the tools directory)
1165 briefly describe the use of these tools.
1170 the speakup community. We would like to thank him for his work on the
1174 it isn't, the recommended places to put it are /usr/local/bin or
1179 by reading and writing the /sys files described above.
1181 The directory that speakupconf uses to store your settings depends on
1182 whether it is run from the root account. If you execute speakupconf as
1183 root, it uses the directory /etc/speakup. Otherwise, it uses the directory
1189 Use the command
1195 load or save the speakup parameters.
1199 Charles Hallenbeck, another member of the speakup community, wrote the
1204 part of your linux distribution, the recommended places to install it
1207 Talkwith allows you to switch synthesizers on the fly. It takes a synthesizer
1210 causes Speakup to use the DecTalk Express. If you wish to switch to a
1214 If you wish to use espeakup for software synthesis, give the command
1218 Any arguments that follow the name of the daemon are passed to the daemon
1221 causes espeakup to use the French voice.
1224 Talkwith does not attempt to load your settings after the new
1239 The purpose of this License is to make a manual, textbook, or other
1240 functional and useful document "free" in the sense of freedom: to
1241 assure everyone the effective freedom to copy and redistribute it,
1243 Secondarily, this License preserves for the author and publisher a way
1248 works of the document must themselves be free in the same sense. It
1249 complements the GNU General Public License, which is a copyleft
1254 program should come with manuals providing the same freedoms that the
1264 contains a notice placed by the copyright holder saying it can be
1265 distributed under the terms of this License. Such a notice grants a
1267 work under the conditions stated herein. The "Document", below,
1268 refers to any such manual or work. Any member of the public is a
1269 licensee, and is addressed as "you". You accept the license if you
1270 copy, modify or distribute the work in a way requiring permission
1273 A "Modified Version" of the Document means any work containing the
1278 the Document that deals exclusively with the relationship of the
1279 publishers or authors of the Document to the Document's overall subject
1281 within that overall subject. (Thus, if the Document is in part a
1283 mathematics.) The relationship could be a matter of historical
1284 connection with the subject or with related matters, or of legal,
1288 The "Invariant Sections" are certain Secondary Sections whose titles
1289 are designated, as being those of Invariant Sections, in the notice
1290 that says that the Document is released under this License. If a
1291 section does not fit the above definition of Secondary then it is not
1292 allowed to be designated as Invariant. The Document may contain zero
1293 Invariant Sections. If the Document does not identify any Invariant
1296 The "Cover Texts" are certain short passages of text that are listed,
1297 as Front-Cover Texts or Back-Cover Texts, in the notice that says that
1298 the Document is released under this License. A Front-Cover Text may
1301 A "Transparent" copy of the Document means a machine-readable copy,
1302 represented in a format whose specification is available to the
1303 general public, that is suitable for revising the document
1320 proprietary word processors, SGML or XML for which the DTD and/or
1321 processing tools are not generally available, and the
1325 The "Title Page" means, for a printed book, the title page itself,
1326 plus such following pages as are needed to hold, legibly, the material
1327 this License requires to appear in the title page. For works in
1329 the text near the most prominent appearance of the work's title,
1330 preceding the beginning of the body of the text.
1332 A section "Entitled XYZ" means a named subunit of the Document whose
1336 "Dedications", "Endorsements", or "History".) To "Preserve the Title"
1337 of such a section when you modify the Document means that it remains a
1340 The Document may include Warranty Disclaimers next to the notice which
1341 states that this License applies to the Document. These Warranty
1345 no effect on the meaning of this License.
1350 You may copy and distribute the Document in any medium, either
1351 commercially or noncommercially, provided that this License, the
1352 copyright notices, and the license notice saying this License applies
1353 to the Document are reproduced in all copies, and that you add no other
1355 technical measures to obstruct or control the reading or further
1356 copying of the copies you make or distribute. However, you may accept
1358 number of copies you must also follow the conditions in section 3.
1360 You may also lend copies, under the same conditions stated above, and
1367 printed covers) of the Document, numbering more than 100, and the
1368 Document's license notice requires Cover Texts, you must enclose the
1370 Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
1371 the back cover. Both covers must also clearly and legibly identify
1372 you as the publisher of these copies. The front cover must present
1373 the full title with all words of the title equally prominent and
1374 visible. You may add other material on the covers in addition.
1375 Copying with changes limited to the covers, as long as they preserve
1376 the title of the Document and satisfy these conditions, can be treated
1379 If the required texts for either cover are too voluminous to fit
1380 legibly, you should put the first ones listed (as many as fit
1381 reasonably) on the actual cover, and continue the rest onto adjacent
1384 If you publish or distribute Opaque copies of the Document numbering
1387 a computer-network location from which the general network-using
1389 a complete Transparent copy of the Document, free of added material.
1390 If you use the latter option, you must take reasonably prudent steps,
1392 that this Transparent copy will remain thus accessible at the stated
1393 location until at least one year after the last time you distribute an
1395 edition to the public.
1397 It is requested, but not required, that you contact the authors of the
1399 them a chance to provide you with an updated version of the Document.
1404 You may copy and distribute a Modified Version of the Document under
1405 the conditions of sections 2 and 3 above, provided that you release
1406 the Modified Version under precisely this License, with the Modified
1407 Version filling the role of the Document, thus licensing distribution
1408 and modification of the Modified Version to whoever possesses a copy
1409 of it. In addition, you must do these things in the Modified Version:
1411 A. Use in the Title Page (and on the covers, if any) a title distinct
1412 from that of the Document, and from those of previous versions
1413 (which should, if there were any, be listed in the History section
1414 of the Document). You may use the same title as a previous version
1415 if the original publisher of that version gives permission.
1416 B. List on the Title Page, as authors, one or more persons or entities
1417 responsible for authorship of the modifications in the Modified
1418 Version, together with at least five of the principal authors of the
1421 C. State on the Title page the name of the publisher of the
1422 Modified Version, as the publisher.
1423 D. Preserve all the copyright notices of the Document.
1425 adjacent to the other copyright notices.
1426 F. Include, immediately after the copyright notices, a license notice
1427 giving the public permission to use the Modified Version under the
1428 terms of this License, in the form shown in the Addendum below.
1429 G. Preserve in that license notice the full lists of Invariant Sections
1430 and required Cover Texts given in the Document's license notice.
1432 I. Preserve the section Entitled "History", Preserve its Title, and add
1433 to it an item stating at least the title, year, new authors, and
1434 publisher of the Modified Version as given on the Title Page. If
1435 there is no section Entitled "History" in the Document, create one
1436 stating the title, year, authors, and publisher of the Document as
1437 given on its Title Page, then add an item describing the Modified
1438 Version as stated in the previous sentence.
1439 J. Preserve the network location, if any, given in the Document for
1440 public access to a Transparent copy of the Document, and likewise
1441 the network locations given in the Document for previous versions
1442 it was based on. These may be placed in the "History" section.
1444 least four years before the Document itself, or if the original
1445 publisher of the version it refers to gives permission.
1447 Preserve the Title of the section, and preserve in the section all
1448 the substance and tone of each of the contributor acknowledgements
1450 L. Preserve all the Invariant Sections of the Document,
1452 or the equivalent are not considered part of the section titles.
1454 may not be included in the Modified Version.
1459 If the Modified Version includes new front-matter sections or
1461 copied from the Document, you may at your option designate some or all
1462 of these sections as invariant. To do this, add their titles to the
1463 list of Invariant Sections in the Modified Version's license notice.
1468 parties--for example, statements of peer review or that the text has
1469 been approved by an organization as the authoritative definition of a
1473 passage of up to 25 words as a Back-Cover Text, to the end of the list
1474 of Cover Texts in the Modified Version. Only one passage of
1476 through arrangements made by) any one entity. If the Document already
1477 includes a cover text for the same cover, previously added by you or
1478 by arrangement made by the same entity you are acting on behalf of,
1479 you may not add another; but you may replace the old one, on explicit
1480 permission from the previous publisher that added the old one.
1482 The author(s) and publisher(s) of the Document do not by this License
1489 You may combine the Document with other documents released under this
1490 License, under the terms defined in section 4 above for modified
1491 versions, provided that you include in the combination all of the
1492 Invariant Sections of all of the original documents, unmodified, and
1496 The combined work need only contain one copy of this License, and
1498 copy. If there are multiple Invariant Sections with the same name but
1499 different contents, make the title of each such section unique by
1500 adding at the end of it, in parentheses, the name of the original
1502 Make the same adjustment to the section titles in the list of
1503 Invariant Sections in the license notice of the combined work.
1505 In the combination, you must combine any sections Entitled "History"
1506 in the various original documents, forming one section Entitled
1514 You may make a collection consisting of the Document and other documents
1515 released under this License, and replace the individual copies of this
1516 License in the various documents with a single copy that is included in
1517 the collection, provided that you follow the rules of this License for
1518 verbatim copying of each of the documents in all other respects.
1522 License into the extracted document, and follow this License in all
1528 A compilation of the Document or its derivatives with other separate
1530 distribution medium, is called an "aggregate" if the copyright
1531 resulting from the compilation is not used to limit the legal rights
1532 of the compilation's users beyond what the individual works permit.
1533 When the Document is included in an aggregate, this License does not
1534 apply to the other works in the aggregate which are not themselves
1535 derivative works of the Document.
1537 If the Cover Text requirement of section 3 is applicable to these
1538 copies of the Document, then if the Document is less than one half of
1539 the entire aggregate, the Document's Cover Texts may be placed on
1540 covers that bracket the Document within the aggregate, or the
1541 electronic equivalent of covers if the Document is in electronic form.
1542 Otherwise they must appear on printed covers that bracket the whole
1549 distribute translations of the Document under the terms of section 4.
1552 translations of some or all Invariant Sections in addition to the
1554 translation of this License, and all the license notices in the
1556 the original English version of this License and the original versions
1558 the translation and the original version of this License or a notice
1559 or disclaimer, the original version will prevail.
1561 If a section in the Document is Entitled "Acknowledgements",
1562 "Dedications", or "History", the requirement (section 4) to Preserve
1563 its Title (section 1) will typically require changing the actual
1569 You may not copy, modify, sublicense, or distribute the Document except
1571 copy, modify, sublicense or distribute the Document is void, and will
1580 The Free Software Foundation may publish new, revised versions
1581 of the GNU Free Documentation License from time to time. Such new
1582 versions will be similar in spirit to the present version, but may
1586 Each version of the License is given a distinguishing version number.
1587 If the Document specifies that a particular numbered version of this
1588 License "or any later version" applies to it, you have the option of
1589 following the terms and conditions either of that specified version or
1590 of any later version that has been published (not as a draft) by the
1591 Free Software Foundation. If the Document does not specify a version
1593 as a draft) by the Free Software Foundation.
1599 the License in the document and put the following copyright and
1600 license notices just after the title page:
1604 under the terms of the GNU Free Documentation License, Version 1.2
1605 or any later version published by the Free Software Foundation;
1607 A copy of the license is included in the section entitled "GNU
1611 replace the "with...Texts." line with this:
1613 with the Invariant Sections being LIST THEIR TITLES, with the
1614 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
1617 combination of the three, merge those two alternatives to suit the
1622 free software license, such as the GNU General Public License,
1625 The End.