home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-05-04 | 60.1 KB | 1,252 lines |
- Section 6: Braille Translation
-
- In most of this section we discuss translation from print into
- braille (forward translation). In the very last part of the section we
- discuss translation from braille into print (back translation).
-
- What translation into Braille means
-
- Translating a file into braille means taking an inkprint file and
- making a braille copy. A grade 2 braille file contains the ASCII
- characters which create grade 2 braille on a braille device. When you
- examine a braille file on the screen or print it to an inkprint printer,
- you see the ASCII representation for each braille character. For
- example, the word think comes out as ?9k. The th in an inkprint file
- becomes a braille "th" sign in the braille file, represented in ASCII as
- a question mark. The letter combination in in an inkprint file becomes
- the "in" sign in the braille file, represented in ASCII as the digit 9.
-
- When you View a file (option 6), the right side of the screen shows
- a guide to "ASCII braille" (which braille cells the ASCII characters
- represent). The same information is found in the file ASCIIBRL.TXT on
- the Hot Dots manual disk.
-
- Three ways to translate a File into Braille
-
- There are three ways to translate a file using Hot Dots 3.0. You
- can use the DOTS menu, you can use a batch file, or you can use the
- G2FWD program at the command line.
-
- Translation from the DOTS Menu
-
- Type DOTS to get to the menu. Enter 2 followed by <enter> to get to
- the translator. You are prompted for an input file and an output file.
- Always use the extension .BRL for the output file (to tell the formatter
- to format for braille output).
-
- Translation from a batch file
-
- We supply two batch files that include translation from print to
- braille. DOTS1234 <file name> <word processor type> <output device>
- takes a file through all four steps (importation, translation,
- formatting, and output). DOTS234 <file name> <output device> takes an
- existing HD$ file and performs three steps (translation, formatting, and
- output).
-
- Translation at the Command Line
-
- The program that does braille translation is called G2FWD. To
- translate a file from the command line, enter G2FWD <input file> <output
- file> <enter>. If you give the output file the extension .BRL, it will
- receive braille formatting by default in the formatting step which
- follows.
-
- Quick Experiments
-
- Use CON (console) for the input file and output file to input at
- the keyboard and output to the screen (for quick experiments). Press
- <enter> to translate a line, and press <control-Z> <enter> to leave the
- translator. In the same way, you can also quickly check the results of
- other Hot Dots commands, without creating any temporary files.
-
- Special Handling: Carriage Returns, Dashes,
- Discretionary Line Breaks, and Accented Letters
-
- The Print to braille translator turns each carriage return/linefeed
- into a space. Therefore, if you want to force a hard return in the
- braille output, use an indicator like ( $l ) in the .HD$ file.
-
- The Print to braille translator turns space, hyphen, space into two
- hyphens (with no spaces) in the braille file.
-
- The translator also places the discretionary line break character
- next to hyphens and dashes. This character is ASCII 30, which appears on
- the screen as a solid triangle pointing up (block up arrow). The
- formatter interprets this character as a signal to move to a new line if
- the rest of the word does not fit on the current line. The translator
- places this after a hyphen (dots 3-6) and before and after a dash (dots
- 3-6, 3-6).
-
- The "extended ASCII" system includes symbols for accented letters.
- For these symbols, the Print to braille translator generates dot 4
- followed by the base letter. For example, for ASCII 130 (e acute), the
- translator creates dot 4 followed by e; for ASCII 144 (capital E acute),
- it generates dot 6, dot 4, e. The translator also lets you to create the
- special braille cells for accented letters used in foreign language
- textbooks (discussed later in this Section in the list of "Other
- Translation Codes").
-
- Translating Nonliterary Punctuation into Braille
-
- Some punctuation marks, such as the backslash, are not covered by
- the grade two rules. These are especially common in text about
- computers. Furthermore, punctuation marks which are covered by the grade
- 2 rules are often used in a position not covered by the grade two rules.
- When the Print to braille translator encounters these punctuation marks,
- it generates a letter sign (dots 5-6) followed by the CBC symbol for
- that character. There are a few exceptions. For the less than sign and
- greater than sign, the translator creates dot 4 followed by the CBC
- symbol. For comma, semicolon, and period in a nonliterary context, the
- translator generates a letter sign followed by the usual grade two
- symbol. For a punctuation mark which has a literary (grade two)
- translation, you can force the regular translation (grade two) by
- placing @r (at-sign r) before the character in the inkprint file. You
- can also force the $ub display translation $uf (nonliterary) by placing
- @d (at-sign d) before the character.
-
- Translator Codes for Print to Braille Translation
-
- There may be times when you want to control the behavior of the
- translator. Hot Dots offers a rich supply of specialized codes to
- control the action of the translator. All the translator codes start
- with an at-sign (@).
-
- Translation Modes
-
- The Print to braille translator has 4 separate modes. These are
- grade two (also known as literary mode), grade one, no translation, and
- British mode. The translator starts out in grade two translation. This
- produces standard American, contracted (abbreviated) braille. Grade one
- translation handles numbers, punctuation, and capitalization as in grade
- two, but there are no contractions. With no translation, the print text
- is not changed. The characters in the inkprint file are left unchanged
- in the braille file. No translation is designed for instances where you
- enter the braille directly. Do not confuse "no translation" with grade
- one. Ordinary text brailled with "no translation" (sometimes called MIT
- computer braille) has nonliterary numbers and punctuation and does not
- show capitalization. Finally, British translation mode in Hot Dots
- suppresses the use of the capitalization indicator (dot 6). If you turn
- on grade one translation while British translation is on, you get
- British grade one (no contractions and no capitalization indicators).
-
- Each code for changing the translation mode consists of three
- characters: an at-sign, a lowercase letter, and a space. These three
- characters disappear in the braille file, leaving no space. To change
- translation modes between words, leaving a space in the braille file,
- place a space before the at-sign code in the inkprint original. Here are
- the codes for these translation modes:
-
- @l <space> -- literary translation mode (grade two)
-
- @o <space> -- grade one translation mode (when entered from British
- translation mode, does not restore capitalization indicators)
-
- @n <space> -- no translation mode
-
- @b <space> -- British translation mode (no capitalization indicators)
-
- Make sure you include the final space in these commands. You can
- change translation modes inside a word by leaving out the space before
- the at-sign, but you still need a space after the code letter. Don't
- worry, the Hot Dots translator will take out the space.
-
- The following data entry gives the word "think" in grade one in the
- middle of a sentence in grade two: So therefore, I @o think @l you are
- wrong.
-
- Other Translation Codes
-
- Here is the list of other translation codes. All of them start with
- an at-sign (@). Some of them work only if you are in grade one
- translation mode.
-
- @a -- accent Acute. Place this after the letter being accented. Use only
- in grade one translation mode.
-
- @g -- accent grave. Place this after the letter being accented. Use only
- in grade one translation mode.
-
- @, -- accent cedilla. Place this after the letter being accented. Use
- only in grade one translation mode.
-
- @" -- accent diaeresis or umlaut. Place this after the letter being
- accented. Use only in grade one translation mode.
-
- @^ -- accent circumflex. Place this after the letter being accented. Use
- only in grade one translation mode.
-
- @s -- Spanish accent. Place this after the letter being accented. Use
- only in grade one translation mode.
-
- @? -- Spanish question mark, regular or up-side-down).
-
- @e -- diphthong with e. Use only in grade one translation mode. Place
- this after the letter being accented.
-
- @` -- generic accent for this letter (put dot 4 in front of it). Place
- the command before the letter.
-
- @; -- force a letter sign here.
-
- @p -- prevent a letter sign.
-
- @i -- inert sequence. To alter translation, place @i between letters
- that you do not want contracted. You can also put @i between other
- characters that you don't want the translator to find next to each
- other. For example, the combination space, hyphen, space becomes
- two hyphens (a braille dash) surrounded by the "discretionary line
- break character." f you do not want this, place @i next to the
- hyphen. As another example, when the translator finds a hyphen
- followed by a letter, it places a discretionary line break
- character after the hyphen. If there is a hyphen where you don't
- want the line broken (as in stammering), place @i after the hyphen.
-
- @f -- force a character. The next character is passed on in the
- translation.
-
- @t -- transcriber mark.
-
- @d -- display punctuation with letter sign. Hot Dots places a letter
- sign in front of non-traditional punctuation (i.e., potentially
- confusing when read in grade 2 braille). An @d in front of
- punctuation forces this special display.
-
- @r -- regular punctuation. place this before punctuation if you want the
- traditional grade two version (no matter how confusing it is).
-
- @' -- regular apostrophe (dot 3, not a single quote).
-
- @o' -- open single quote.
-
- @c' -- close single quote.
-
- @o" -- open double quote.
-
- @c" -- close double quote.
-
- @o- -- opening Spanish conversation sign.
-
- @c- -- closing Spanish conversation sign.
-
- @@ -- at-sign.
-
- Underlining and Italics
-
- When the file file from your word processor calls for italics,
- underlining, or other kinds of emphasis, the file importation program
- encloses the material between $$ub and $$uf. To the Hot Dots inkprint
- formatter, the $$ub means "underline begin" and the $$uf means
- "underline finish". When you print the inkprint file with Hot Dots, the
- enclosed words are underlined.
-
- Underlining in inkprint is indicated in braille with the italics
- indicator. The translator looks for the underlining commands and inserts
- the correct indicators for braille italics. In an underlined passage of
- three or fewer words, the single italics indicator, dots 4-6, precedes
- each word. In an underlined passage of four or more words, the double
- italics indicator, two cells of dots 4-6, precedes the first word, and a
- single italics indicator precedes the last word.
-
- Report any Irregularities in Braille Translation
-
- Please report any translation errors you may encounter when using
- Hot Dots. At Raised Dot Computing, we strive towards the elusive goal of
- a perfect braille translator. You can assist us by reporting any
- glitches you encounter.
-
- From time to time, Raised Dot may offer discounts on future
- purchases to those who alert us to a glitch that we were previously
- unaware of. To qualify, all reports must be in writing. Contact Raised
- Dot Computing for more information about discount offers and
- restrictions which may apply.
-
- Raised Dot Computing will supply to any registered user, upon
- request, a description of all known Print to braille translation errors
- in Hot Dots 3.0.
-
- The Back Translator
-
- The Back Translator is a poor cousin to the forward translator.
- While most Hot Dots users concentrate on translating inkprint into
- braille, a few hardy souls want to go in the other direction. Perhaps
- you accidentally deleted an inkprint file for which you have a braille
- copy. Perhaps you write in grade two on your VersaBraille and you want
- an inkprint copy. Whatever your motivation, you will find the Hot Dots
- back translator to be excellent and virtually error free.
-
- Two Ways to Translate a File from Braille into Inkprint
-
- There are two ways to translate a file from braille to print using
- Hot Dots 3.0. You can use the DOTS menu, or you can use the G2BACK
- program at the command line.
-
- Type DOTS to get to the Hot Dots main menu. Enter 7 followed by
- <enter> to get to the back translator. You are prompted for an input
- file and an output file.
-
- The program that does back translation is called G2BACK. To
- translate a file from the command line, enter G2BACK <input file>
- <output file> <enter>.
-
- Improving the Back Translation
-
- The back translator response to the two translation codes @n
- <space> for no back translation and @l <space> for literary back
- translation (translation from grade two). When material is enclosed
- between @n <space> and @l <space>, it is not affected at all by the back
- translator. If a passage in grade two might confuse the back translator,
- you can use MIT computer braille instead and enclose it between @n
- <space> and @l <space>.
-
- The at-sign is dot 4 on a braille device. But be careful. Dot 4 on
- your braille device can also be saved as the accent grave character. You
- may need to issue a command on your braille device to make the dot 4
- uppercase. In addition, you need to make sure that the letters n and l
- in these codes are lowercase. To avoid worrying about this, you may want
- to perform Global search and replace before back translation to replace
- the accent character with the at-sign and the uppercase letters N and L
- with the lowercase letters. The case of characters is not relevant for
- any other function of the back translator.
-
- One troublesome area is unusual punctuation, or punctuation used in
- a way not usually seen in normal text. One example is a period inside a
- word (as in an MS-DOS filename). If you just use a dropped d, the back
- translator creates dd inside the word. Instead, put a letter sign (dots
- 5-6) before the dropped d. When the back translator sees the letter
- sign, dropped d combination, it creates a period in the inkprint file.
- Please note: you only need the letter sign when you want to use the
- period in a way that would confuse the translator.
-
- Two other handy codes are letter sign dropped a for comma and
- letter sign dropped b for semicolon. For other punctuation marks, you
- can use letter sign followed by the CBC representation. For example, you
- can use letter sign followed by "st" sign for a slash; letter sign
- followed by "ou" sign for a backslash; letter sign, dots 4-5-6, "ou"
- sign for a vertical bar; and letter sign followed by the "ch" sign for
- an asterisk. The less than sign and greater than sign are exceptions.
- Use dot 4 followed by "gh" sign for the less than sign and dot 4
- followed by the "ar" sign for the greater than sign. These braille
- symbols are also created by the forward translator.
-
- When you are in doubt, you can use CON as the input file and output
- file to back translate individual lines from the keyboard.
-
- Processing a File After Back Translation
-
- After you have used the back translator to create an inkprint file,
- you may want to check it over and edit it. However, you may need to add
- carriage returns before you can load it into your word processor. You
- can do that with the batch file DIRTY. Just type DIRTY <file name>
- <enter> to divide the text into lines of reasonable length and store the
- results in the same file. Then, before you run the formatter, remove the
- carriage returns with the batch file CLEAN. Type CLEAN <file name>
- <enter>, and the same file has the carriage returns removed.
-
- Section 7: Formatting
-
- Overview
-
- This section discusses how to control what your text looks like
- when you send it out to a printer. After translation and before output,
- you need to format your text. Formatting takes a source file that
- contains encoded format information (dollar sign format commands) and
- creates an output file which is the character-for-character image of the
- actual hardcopy pages.
-
- When you import a file, the importation system places formatting
- commands in the Hot Dots .HD$ file. If you want to, you can use your
- word processor on the .HD$ file to modify the text or the format
- commands. The usual point at which to modify your text for braille
- output is after file importation but before translation, formatting, and
- output.
-
- Braille vs. Inkprint Formatting
-
- Hot Dots can format text for either braille or inkprint output.
- Some format instructions (for paragraphs, page numbering, and
- underlining, for example) behave differently when formatted for braille
- or for inkprint output. Because the major focus of Hot Dots is braille,
- the formatter's default style is braille formatting, unless the carriage
- width is over 45. When you establish a carriage width over 45, the
- default style is inkprint formatting. When you format a file with the
- .BRL extension, the formatter performs braille style formatting (even if
- the carriage width is over 45). To force the mode to inkprint or to
- braille, use the FTEXT command at the command line with a slash I
- (inkprint) or slash B (braille) switch. These switches have the final
- say (see Section 10 for details).
-
- New Line Commands
-
- There are four format commands which force a new line. These are as
- follows:
-
- $p -- New paragraph symbol.
-
- $l -- New line symbol (just like a carriage return)
-
- $s -- Skip line symbol, same as a paragraph symbol only with an extra
- blank line
-
- $f -- Form feed (new output page)
-
- Each of these needs a space before it and a space after it. The
- paragraph symbol is very flexible. Depending on the previous commands, a
- paragraph can vary the indent and the number of blank lines between
- paragraphs. For inkprint formatting, the default is two carriage returns
- (one blank line) and five spaces. For braille formatting, the default is
- one carriage return (no blank line) and 2 spaces.
-
- Three ways to Format a File
-
- There are three ways to format a file with Hot Dots 3.0. You can
- use the DOTS menu, you can use a batch file, or you can use the FTEXT
- program at the command line.
-
- Formatting from the DOTS Menu
-
- Type DOTS to get to the menu. Enter 3 followed by <enter> to get to
- the formatter. You are prompted for carriage width and form length and
- then for an input file and an output file.
-
- Formatting from a Batch File
-
- We supply two batch files that perform formatting. DOTS1234 <file
- name> <word processor type> <output device> takes a file through all
- four steps (importation, translation, formatting, and output). DOTS234
- <base name> <output device> takes the existing file <base name>.HD$ and
- performs three steps (translation, formatting, and output).
-
- From the Command Line
-
- The program that does formatting at the command line is called
- FTEXT. To format a file at the command line, enter FTEXT <input file>
- <output file> <enter>. Several switches (slash codes listed on the
- command line) are available to establish carriage width, form length,
- and braille or print formatting (see Section 10 for details).
-
- Dollar Dollar Format Commands
-
- Most of the format commands start with two dollar signs. Hot Dots
- recognizes format commands only when they're entered according to
- specific rules. Every $$ command must be preceded and followed by a
- space or carriage return. All letters in format commands must be
- lowercase. For example, $$np starts page numbering; $$NP just prints two
- dollar signs and uppercase NP in your text. Most format commands are
- mnemonic; the letters in the command represent the command's function.
- Some format commands contain numbers; numbers always follow letters. In
- these descriptions, we use #, the number sign, in place of a specific
- numeric value.
-
- When you enter format commands in your text, they appear on screen.
- When you format material, the format commands perform their function and
- the dollar sign commands do not show up in the formatted text.
-
- The formatter executes some commands differently when you're
- formatting for print than when you're formatting for braille; details of
- these differences are covered in the descriptions of individual
- commands.
-
- Format Commands
-
- These commands must be preceded and followed by a space or carriage
- return. Command letters must be lowercase; when you use braille data
- entry, use computer braille for numbers.
-
- $$a# -- advance to line # where # ranges from current line to form
- length. Example: $$a# forces a series of new lines until the next
- material begins on the 8th line.
-
- $$c <space> -- center text in current output line plus all subsequent
- output lines until next command which forces a new line. Use the
- command $$c before text you want to center. At the bottom of a
- page, $$c moves to the next page, to avoid separating a centered
- heading from the text which follows. Compare with $$ve.
-
- $$cx -- centering extended: center all lines until next left margin
- command.
-
- $$d -- reset everything except carriage width and form length to the
- default: clear tabs and margins, clear headers and footers, single
- line spacing, paragraph indent and line spacing as appropriate for
- print or braille format.
-
- ( $f ) -- immediately move to new page; form feed format indicator (four
- keystrokes: space, dollar sign, lowercase f, space). Compare with $
- $vn.
-
- $$f# -- set form length (lines per page) to # lines; clears all commands
- that affect a specific line number (such as page numbering or
- running heads). If you use the $$f# command at all, use it at the
- beginning of a file. Otherwise, you would have to reenter all
- page-oriented commands that you still wanted. See the separate
- heading on page size.
-
- $$h -- center and underline current output line and all subsequent
- output lines up to next ( $p ) or ( $s ). Underlines inkprint only;
- does not create italics indicators in braille. Actually, any forced
- new line stops the centering; ( $p ), ( $s ), or $$uf stops the
- underlining.
-
- $$i# -- indent each paragraph to start in absolute position # on the
- line. This command affects subsequent paragraph indicators ( $p )
- and ( $s ). The default is $$i5 for print format, $$i2 for braille
- format. (Note to those who have used Hot Dots before version 3.0,
- BEX, or BRAILLE-EDIT: $$i# now refers to absolute position #; in
- those other programs it is relative to the left margin.)
-
- $$i+# -- indent each paragraph # cells to the right of the current left
- margin.
-
- $$i-# -- outdent each paragraph # cells to the left of the current left
- margin.
-
- $$j -- move to the soft margin indent position. See the entry for $$ms#.
-
- ( $l ) -- new line format indicator (four keystrokes: space, dollar
- sign, lowercase l, space).
-
- $$l# (lowercase l, not digit 1) -- line spacing for soft <CR>s and
- explicit hard ( $l ) indicators. Default is $$l1 (single spacing)
- for print and braille. Use $$l2 for double spacing, $$l3 for triple
- spacing. Use single spacing in braille, except in some materials
- for young children.
-
- $$ml# -- set left margin at absolute position #; command letters are
- lowercase m, lowercase l. Default is $$ml0 for print and braille
- format. Use this command to change the position of the left margin.
- The new left margin takes effect at the start of the next line. For
- predictable results, use $$ml# just before forcing a new line with
- ( $l ), ( $p ), etc. The characters set aside for the left margin
- use up some of the carriage width. For example, with a carriage
- width of 40 and a left margin of 4, there is room for a maximum of
- 36 characters per line (positions 0 through 3 are set aside as left
- margin, and positions 4 through 39 are available).
-
- $$ml+# -- increase left margin by # spaces; move left margin #
- characters to the right of the current left margin.
-
- $$ml-# -- decrease left margin by # spaces; move left margin #
- characters to the left of the current left margin.
-
- $$ml* -- set left margin at current character position on the output
- line.
-
- $$mr# -- set right margin # characters from the maximum carriage width;
- default is $$mr0. Use this command to change the position of the
- right margin. The new right margin takes effect immediately. It is
- a good idea to use $$mr# right after forcing a new line with ( $l
- ), ( $p ), etc. $$mr# uses up # positions at the right of the
- carriage width. With a carriage width of 40 and $$mr4 in effect,
- positions 36 through 39 are set aside as right margin.
-
- $$mr+# -- increase right margin by # spaces; move right margin #
- characters to the left of the current right margin.
-
- $$mr-# -- decrease right margin by # spaces; move right margin #
- characters to the right of the current right margin.
-
- $$ms# -- soft margin indent of #: at soft returns indent # characters to
- the right of the left margin. Default is $$ms0.
-
- $$ms+# -- increase the soft margin indent by # characters.
-
- $$ms-# -- decrease the soft margin indent by # characters.
-
- $$np -- place page numbers on all pages, as appropriate for print or
- braille format, beginning with page 1. In braille, places grade two
- number in upper right (after at least three spaces). In print,
- centers page number on bottom line and forces next-to-last line to
- be blank.
-
- $$n# -- set next output page number to #; use after a page numbering
- command like $$np. By itself, $$np starts page numbering with 1.
- Place $$n# after $$np to begin with page #. For example, to begin
- page numbering with page 14, use $$np $$n14.
-
- ( $p ) -- paragraph indicator (four keystrokes: space, dollar sign,
- lowercase p, space). When the formatter encounters a paragraph
- indicator, it generates carriage returns to move down and spaces to
- indent to the proper position. You can control the number of
- carriage returns with $$s# and the number of spaces with $$i#.
- Default for print paragraphs is $$s2 $$i5; default for braille
- paragraphs is $$s1 $$i2.
-
- $$p# -- place text at absolute character position # on the output line.
- If there was already text there, the new text overwrites it.
-
- $$p+# -- place subsequent text # characters to right of current
- character position on the output line.
-
- $$p-# -- place subsequent text # characters to left of current character
- position on the output line, which may overwrite existing
- characters in output line.
-
- $$r -- place output lines flush against the right margin. Affects
- current output line and subsequent output lines up to the next new
- line forced with ( $l ), ( $p ), etc.
-
- $$s# -- paragraph line spacing: tells formatter to generate # <CR>s for
- each subsequent paragraph indicator ( $p ). Defaults are $$s2 for
- print and $$s1 for braille.
-
- $$tc -- clear all tab stops. See the separate heading on tabs.
-
- $$t# -- set a tab stop at absolute character position #. See the
- separate heading on tabs.
-
- $$t* -- establish a tab stop at the current character position on the
- output line.
-
- $$t+# -- establish a tab stop # characters to the right of the current
- character position on the output line.
-
- $$t-# -- establish a tab stop # characters to the left of the current
- character position on the output line.
-
- $$ <space> -- advance to next tab stop (four keystrokes: space, dollar
- sign, dollar sign, space). See the separate heading on tabs.
-
- $$ub -- underline begin (underlines inkprint only. Signals braille
- translator to place italics indicators. When three or fewer words
- are to be emphasized, the translator places a single cell of dots
- 4-6 before each word. When four or more words are to be emphasized,
- the translator places two cells of dots 4-6 before the first word
- and one cell of dots 4-6 before the last word.
-
- $$uf -- underline finish (for inkprint). Signals braille translator to
- finish placing italics indicators. See previous entry.
-
- $$va -- place braille page numbers in lower right corner (after at least
- three spaces).
-
- $$vb -- place braille page numbers in upper right corner (after at least
- three spaces). Same as $$np for braille formatting.
-
- $$vd# -- place line of dropped c cells (dots 2-5) on line # on every
- page. These lines are useful for folding braille letters.
-
- $$ve -- unconditional centering: like $$c <space> but does not refuse to
- center on the bottom line.
-
- $$vf -- interpret current output line as running footer to place on
- bottom line of all output pages; begin and end footer definition
- with ( $p ), ( $l ), or ( $s ).
-
- $$vg -- modify print or braille page numbering to lowercase Roman
- numerals; maximum page number of xc (90); use after page numbering
- command. In braille formatting, $$np $$vg gives Roman numeral page
- numbers in upper right corner (for preliminary pages in "literary
- format").
-
- $$vh# -- interpret current output line as running header to place on
- line # of every output page; begin and end header definition with $
- p ), ( $l ), or ( $s ). Maximum number of headers is four; line 1
- plus three other lines. The text of your running head can contain
- almost anything. You can use other commands, like $$c, $$h, $
- $r, or $$p# to format the text of the running head. However, you
- must make sure that the running head is short enough to fit on a
- single line. In braille formatting, use page numbering command $$np
- before $$vh1 to get page numbers and running head on line 1. In the
- text of the running head, you can use tilde (~) to stand for the
- sequential page number; most useful in inkprint formatting. Here's
- an example. Let's say you want the words "Section 7" to appear
- centered on every page. Enter: $$vh1 $$c Section 7 $p (notice the
- paragraph indicator to finish off the running head).
-
- $$vk -- "kram" following "word" to end of line. Useful in tables of
- contents and menus. See entry for $$vrx.
-
- $$vl# -- move to a new output page if the current output page has fewer
- than # lines remaining (counting the current output line).
-
- $$vln -- clear table mode established by $$vlt (see next entry).
-
- $$vlt -- table mode: do not place text on any line with a page number.
- In textbook format, keeps text off of top and bottom lines.
-
- $$vn -- move to new output page unless that creates a blank page. Acts
- like ( $f ) except when it occurs at the top of an output page.
-
- $$vo# -- make line # ordinary: clear any command affecting the line
- which # references. Use $$vo1 to undo a running head and top line
- page numbering. When # begins with minus sign, count up from the
- bottom line. $$vo-0 refers to bottom line; use to undo running
- footer and bottom line page numbering.
-
- $$vp [word] -- in textbook format, make the following word, shown here
- as [word], the current print page indicator. For example, when $$vt
- is in effect, use $$vp 38 to start print page 38; tells the
- formatter to place print page indicators for print page 38. The
- word after $$vp does not have to be a number. It can be a Roman
- numeral, a hyphenated number, etc.
-
- $$vrx -- repeat any single character, shown here as X, across the output
- line. In braille format, $$vr"$$vk [word] places braille guide dots
- leading up to a word at end of line, shown here as [word]; use with
- a right margin in effect ($$mr6 is recommended). Useful in braille
- tables of contents and menus.
-
- $$vs# -- skip line # on every output page. Handy for creating a blank
- line after a running head or before a running footer. Use $$vs2 to
- skip line 2 (useful if line 1 has running head). When # begins with
- a minus sign, count up from the bottom line. Use $$vs-1 to skip the
- next to last line on each page (useful if bottom line has running
- footer).
-
- $$vt -- begin textbook format (print page indicators in upper right,
- braille page numbers in lower right, line of dashes to start new
- print page in the middle of a braille page).
-
- $$vyx -- place single character prefix, shown here as x, in front of the
- braille page number.
-
- $$vy= (equal sign after the y) -- clear prefix character for braille
- page number.
-
- $$vz -- if on line 2 after a running head, move down to line 3. Use in a
- heading to prevent it from occurring on line 2 after a running
- head.
-
- $$w# -- set carriage width to # characters, clears margins. See separate
- heading on page size.
-
- Tabs
-
- You can make tabs using Hot Dots formatting commands, but be aware
- that they work differently than tabs on a typewriter or in a WYSIWYG
- text editor. Here's an overview of the differences. No tabs are set when
- you start editing a file; you must establish each tab stop individually.
- You can't clear just one tab stop; you must clear them all at once. You
- can't use the Tab key on your keyboard to move to a tab stop in Hot
- Dots.
-
- The command to advance to the next tab stop is four keystrokes:
- space, dollar sign, dollar sign, space ( $$). To advance two tab stops,
- enter this command twice in a row: ( $$ $$). Notice that the trailing
- space of the first command serves as the leading space of the next.
-
- Use $$t#, $$t*, $$t+#, or $$t-# to set a tab stop. For example, $
- $t10 sets a tab stop at position 10 on the line.
-
- The tab stops are completely independent of the margins. When you
- enter ( $$) in your text, it positions the text that follows it at the
- next tab stop on that line. When there are no tab stops after the
- current position on the line, the formatter simply executes the ( $$)
- command as a single space. For example, you set tab stops at positions
- 15 and 30, and type this text:
- $l He made $$ $10,000, but she made over $$ $20,000.
- The first two words occupy positions 0 through 6; so the $10,000 is
- placed at the tab stop at position 15. The words following $10,000
- occupy positions 24 through 40; so the second ( $$) command is simply
- executed as a single space. The formatter can't put it at the tab stop
- at position 30.
-
- Only $$t#, with # an unsigned number, sets a tab stop at an
- absolute position on the line. The asterisk character and numbers with a
- plus or minus sign before them set tabs relative to your current
- position on the line.
-
- When you're working in a non-WYSIWYG editor, it's not always
- obvious just where your "current position" is. When you want to place a
- tab stop at a specific position on the line, use a plain number, or use
- the tab command shortly after a format indicator and count spaces. The
- asterisk character can be handy, however, when you want to make several
- things line up, but you don't care exactly where on the line it happens.
- Use the asterisk to tell the formatter, "Set a tab stop right here."
-
- You can set tabs to the left or right of the current position by
- using a number that begins with a plus or minus sign. Enter $$t+10 to
- set a tab stop ten positions to the right of the current position. Enter
- $$t-5 to set a tab stop five positions to the left of the current
- position.
-
- Page Size
-
- When Hot Dots formats your text, it uses a default carriage width
- and form length unless it is instructed otherwise. The default carriage
- width is 40, and the default form length is 25 (reasonable values for
- brailling on 11.5 by 11 inch paper). There are several ways to change
- the carriage width and form length in Hot Dots. Here is the list:
-
- Answer carriage width and form length prompts in option 3 - Format in
- the Main Menu.
-
- When you use the command FTEXT, use the switches /w=# to set carriage
- width # and /f=# to set form length #. You can use this when you
- are working directly at the command line or when you are writing or
- modifying a batch file.
-
- Set the environmental variables HDWIDTH and HDLENGTH. The command SET
- HDWIDTH=# sets the carriage width to #; SET HDLENGTH=# sets the
- form length to #. You can put these commands in your AUTOEXEC.BAT
- file. These environmental variables affect carriage width and form
- length only when you use the batch file DOTS1234 or DOTS234. When
- you format with any other method, they have no effect.
-
- Use the commands $$w# and $$f# at the very beginning of your document
- file, before any other commands. The values set by these commands
- have the final say; they override any other settings established
- with a different method. For example, if you have set HDWIDTH to 42
- and use DOTS1234, $$w32 still ensures that that file is formatted
- with carriage width 32.
-
- Format Commands Placed by the File Importer
-
- The Hot Dots file importer does its best to interpret the format
- information in your original file and place appropriate format commands
- in the .HD$ file it creates. Nevertheless, there will be times when you
- want to intervene in the process and change the automatically placed
- format commands (see Section 3 for the mechanics of editing the .HD$
- file). The importer uses margin and paragraph indent commands designed
- for braille output. Below we discuss some of the format information
- placed by the file importer and the changes that you might want to make.
-
- Page Numbering
-
- The file importer places $$np at the beginning of your file. When
- formatted for braille, this places the sequential braille page number in
- the upper right corner of every page (after at least three spaces).
- However, you may want a different kind of page numbering. For example, $
- $va places the sequential braille page number in the lower right corner
- of every page. If the file you imported contains print page numbers, you
- may want to use textbook formatting. Begin the file with $$vt instead of
- $$np. At the start of each new print page place $$vp followed by the
- print page number. The file importer places the inert command $$p+0$$p+0
- at each page transition that it knows about. This command sequence does
- not do anything to your output. It is there as something you can search
- for in order to place $$vp [page number] commands. You will probably
- need to move the page number to get it next to the $$vp command. You may
- be able to use Global replace for some of this work.
-
- Soft vs. Hard Carriage Returns
-
- A soft carriage return in your original file is there only because
- the next word would not fit on the previous line. On the other hand, a
- hard carriage return in your original file was placed there on purpose
- to force a new line. For example, a hard carriage return may start a new
- paragraph or begin a new line in an address. In making the equivalent
- braille document, the goal is to preserve the hard returns but to ignore
- the soft returns, turning each soft return into a space. It places a
- paragraph indicator ( $p ) where it finds one or two hard returns or ( $
- s ) where it find three or more hard returns. It replaces each soft
- return with a space. This works well when the file importer can tell the
- difference between hard and soft returns in your original file. This
- task is easy for files imported from most word processors. This task
- calls for more "guesswork" by the file importer when you import an ASCII
- textfile. It is our experience that it does a good job at this overall.
- However, you may need to remove some paragraph indicators and insert
- others.
-
- Tabs
-
- Where the file importer finds a tab in your original file, it
- places a space followed by $$p+1 in your .HD$ file. When formatted, this
- creates two spaces. You may find this acceptable in your application. If
- not, the formatter does not create $$p+1 for anything else. So you can
- change these to something more appropriate for tabs in your application.
- You may want to set appropriate tab stops and then use Global to replace
- $$p+1 <space> with $$ <space>. Or you may prefer to replace $$p+1
- <space> with <semicolon> <space>.
-
- Emphasis
-
- Where the file importer finds underlining or italics (or both) in
- the original file, it places $$ub and $$uf to begin and finish inkprint
- underlining and braille italics. For a bold passage in your original
- file, it begins with $$ub$$p+0 and finishes with $$uf$$p+0. With the
- extra $$p+0, these commands still create inkprint underlining and
- braille italics. But they are also recognizable in your .HD$ file. You
- may not want to preserve bold from your original file with any special
- emphasis in Hot Dots. For example, you may have scanned your file into
- the computer with an optical scanner, and the markup for bold may come
- from irregularities in the print quality. To remove the emphasis that
- came from bold text, just use Global replace to replace each of the two
- sequences just mentioned with nothing at all.
-
- Centering
-
- The file importer places $$cx, the extended centering command,
- wherever it finds a centering command in your original file. Where it
- finds the end of centering in your original file, it places $$ml+0 or
- another left margin command (to terminate the extended centering in Hot
- Dots).
-
- In addition, where the importer finds lines which begin with a lot
- of spaces, it places $$c <space>, the ordinary centering command. This
- centering lasts only up to the next forced new line. Since the importer
- is not so sure about whether this material should be centered, it does
- not risk extended centering. In any case, you may want to remove some
- occurrences of $$c <space>.
-
- Indent and Runover
-
- Hot Dots uses the commands $$i# and $$ml# to set the "indent and
- runover" of paragraphs. $$i# sets the indent used at subsequent ( $p )
- and ( $s ) indicators. We call this the indent for paragraphs. $$ml#
- sets the margin used for soft returns (since the importer always leaves
- the $$ms# soft margin indent at 0). We call this the runover for
- paragraphs. So these two commands set the indent and runover for
- paragraphs. If the indent value is bigger than the runover value, the
- paragraph is normally indented. If the indent value is smaller than the
- runover value, the paragraph is outdented (sometimes called a paragraph
- with hanging indent). The importer tries to preserve indented and
- outdented paragraphs from your original file in the resulting Hot Dots
- file. The importer does not create "blocked paragraphs," paragraphs with
- the same value for indent and runover. Where it believes that a
- paragraph in your original file is blocked, it creates a normally
- indented paragraph in your Hot Dots file by adding 2 to the paragraph
- indent.
-
- To improve the resulting braille format, you may want to change
- some of the indent and runover values. For example, you can affect many
- subsequent runover values by inserting a $$ms# command to set a soft
- margin.
-
- Tables of Contents and Menus
-
- Where the importer finds 5 or more periods (next to each other or
- separated by spaces) it places $$vr"$$vk to create braille guide dots.
- To make this format work right, enclose this kind of material between $
- $mr6$$vlt and $$mr0$$vln. This prevents conflicts between the text,
- flush right words, and sequential page numbers.
-
- Section 9: Output to an Embosser
-
- See Section 12 for details on interfacing embossers to your
- computer.
-
- Once you have created a braille formatted file (a file with the
- .BFM extension), you can send it to your braille embosser in several
- ways using Hot Dots. You can use the DOTS menu, you can use the Hot Dots
- driver programs at the command line, you can use the batch files
- supplied with Hot Dots, or you can use a DOS command like PRINT or COPY.
- Unless you are writing your own batch files, there is little reason for
- using the Hot Dots driver programs at the command line. The
-
- Four Embossers That Need Special Treatment
-
- There are four embossers that require special treatment. These are
- the Cranmer, the LED-120, the Ohtsuki, and Dipner Dots. In these cases,
- we cannot send the raw BFM files to the embossers. For each of the
- output methods that are discussed below, special handling is required
- for these four embossers.
-
- The Supplied Batch Files
-
- Typing DOTS1234 MAZE.DOC WPF5 LPT1 means you want the WordPerfect
- 5.0 file MAZE.DOC imported, translated, formatted (as a BFM file), and
- directed out through your parallel port (LPT1 is the PC's word for
- parallel port number 1). Using the DOTS1234 or DOTS234 batch file is
- easy and effective.
-
- These two batch files use a carriage width of 40 for formatting. If
- you need to change the carriage width that the batch files use for
- formatting, (for example, if you have a Braille Blazer), use the
- environmental variable HDWIDTH. Type SET HDWIDTH=34 <enter> at the
- command line or in your AUTOEXEC.BAT file to modify the formatting
- carriage width for the batch files.
-
- If you have one of the 4 special braillers listed above (Cranmer,
- LED-120, Ohtsuki, or Dipner Dots), then you have to set the
- environmental variable HDDRIVER. Set this variable to one of the
- following values: CRANMER, LED120, OHTSUKI, or DIPNER. For example, type
- SET HDDRIVER=CRANMER <enter> at the command line or in your AUTOEXEC.BAT
- file. When you have done this, the batch files create another file based
- on the .BFM file. This .BDV file includes the special handling needed
- for the specified brailler.
-
- Using the DOTS Menu
-
- Hot Dots supports output to a wide variety of embossers. Option 4
- in the Main Menu is for output to an embosser or inkprint printer. When
- you choose option 4, you get the Output Menu with a choice of embosser
- types. When you press enter, you get the list of choices. Here is the
- list:
-
- Output Menu - output to one of the following devices:
- A Bookmaker
- B Braille Blazer
- C Braillo
- D Cranmer Brailler
- E Dipner Dots
- F Index
- G Inkprint printer
- H LED-120
- I MBOSS-1
- J Ohtsuki
- K Other brailler or Unknown brailler
- L Personal Brailler
- M RESUS
- N Romeo
- O Thiel
- P VersaPoint
- Q cancel (go to Main Menu)
-
- When you use the DOTS menu, the program takes care of the special
- handling required for the four special embossers. However, inkprint
- Dipner Dots and output to the Ohtsuki with normal spacing are not
- available from the Output Menu (at the time of writing this manual). See
- Section 11 for instructions on getting these special kinds of output
- with the Hot Dots batch files.
-
- Using the DOS commands PRINT and COPY
-
- The easiest way to output a braille formatted file (a .BFM file) or
- a braille device file (a .BDV file) is with the DOS PRINT command. To
- output SOUP.BFM from the command line, just type PRINT SOUP.BFM <enter>.
- This prints the file in background, so that you can use your computer
- for other purposes.
-
- Another useful DOS command is COPY. You can type COPY SOUP.BFM COM2
- <enter> to send the file SOUP.BFM to your second serial port.
-
- Do not use a DOS command to send a BFM file if you have a Cranmer,
- an LED-120, an Ohtsuki, or Dipner Dots. Instead, use the Output Menu, or
- use the DOS commands (PRINT or COPY) on the BDV file created by the
- batch files (DOTS1234 or DOTS234).
-
- Section 9: Global Search and Replace
-
- What You Can Do With Global
-
- Hot Dots' power is greatly increased by the Global search and
- replace option. It allows you to define your own keyboard shortcuts for
- words and phrases that you type frequently or for strings of $$
- formatting commands. For example, if you have to type "University of
- Wisconsin--Madison" a lot, you can substitute "uwm" and then Globally
- replace it later. You can use Global search and replace to make
- systematic changes in format information, to fix translation errors, or
- to perform other massaging needed in going from print to braille or
- braille to print.
-
- When you use the Global search and replace function, you must
- provide instructions on what changes to make. There are two main ways to
- use Global search and replace. One way is to use a collection of
- instructions that is already stored on disk: either one that you wrote
- and saved to disk, or one that we supplied with Hot Dots. The other way
- is to type new instructions when you need them by answering prompts from
- Hot Dots. Before we discuss these methods in detail, we need to define
- some terms.
-
- The tools you need
-
- To use Global search and replace, you need a rules file. A rules
- file tells Global what to search for, and what to substitute when it
- finds something. The rules files we supplied with Hot Dots are easily
- identifiable by the file extension .RUL. A rules file consists of one or
- more transformation rules. Each transformation rule consists of a From
- string and a To string. The From string is what you're looking for. When
- Global search and replace finds the characters in the From string, it
- removes them from the text and replaces them with the characters in the
- To string.
-
- Each string may be up to 80 characters long. The To string may be
- longer, shorter, or the same length as the From string.
-
- Using Global Search and Replace
-
- Choose option 5 on the Hot Dots Main Menu. Hot Dots prompts for the
- name of the input file and then for the name of the output file (the new
- file that it creates with the specified changes). Hot Dots then asks:
- Load global replacements from disk?. Answer no when you want to type a
- new set of rules on the spot. Answer yes when you want to use a set of
- rules that already exists in a rules file.
-
- Loading a rules file from disk
-
- When you choose to load a rules file from disk, Hot Dots prompts
- for the rules file name. When you type in the name, give its pathname if
- it is not in your current directory. You can enter the name of only one
- rules file (which may contain many transformation rules). Press <enter>
- to signal that you have entered the name of the rules file. When Global
- has found the file on disk, the replacement begins. If Global does not
- find the rules file, you get an error message, and Global terminates. So
- be sure that the rules file you plan to use is on the disk and directory
- you specify.
-
- If your input file is longer than 30,000 characters, do not give
- the output file the same name as the input file (overwriting the input
- file). (If you have very little free memory available when you run
- Global, the limit is less than 30,000.) If Global does run into a
- problem because you use the same input file and output file, it informs
- you of this problem and terminates without damaging your file.
-
- How long Global search and replace takes depends on several
- factors: the length of the input file and the number of transformation
- rules. With a longer input file and many rules, Global takes more time
- than with a shorter input file and few rules.
-
- An example of using a rules file is using the CLEAN.RUL file
- supplied on your Hot Dots disk. This rules file locates all carriage
- returns and turns them into spaces. If you use Hot Dots to print an
- inkprint file, use this file before using the Hot Dots formatter.
- (Translating into braille removes carriage returns; use CLEAN.RUL to
- remove carriage returns when you format a file that you have not
- translated into braille.)
-
- Creating a Rules File
-
- When you tell Hot Dots that you don't want to load a rules file
- from disk, it begins prompting for transformation rules. First it
- reminds you Enter a blank rule (just carriage return) to end rule
- table.. Then it prompts From:.
-
- Type in the exact characters you want to search for. Global search
- and replace is very literal minded. For example, when you want to
- replace a string of characters that sometimes appears in uppercase and
- sometimes in lowercase, you must write a separate transformation rule
- for each case; Global does not consider "A to Z" to be the same as "a to
- z". Press <enter> to end the From string.
-
- After you enter a From string, Hot Dots prompts To:. Again, type in
- exactly the characters you want to create in your new file. Press
- <enter> to end the To string.
-
- When you're finished writing transformation rules, press <enter> by
- itself at the From: prompt. How long replacement takes depends on the
- same factors as for an already written rules file.
-
- Here's an example of entering transformation rules directly. The
- author always misspells the word "occurrence," and uses a typing
- shortcut to represent "Hot Dots". After creating this rules file, we
- want to save it to use again later.
-
- In showing the keyboard entry here, we write <space> where you are
- supposed to type a space. Spaces are shown for readability.
-
- Main menu. Enter option: 5
- Global search and replace.
- Input file: ROUGH.TXT <enter>
- Output file: SMOOTH.TXT <enter>
- Load global replacements from disk? N <enter>
- Enter a blank rule (just carriage return) to end rule table.
- From: occurence <enter>
- To: occurrence <enter>
- From: HD <enter>
- To: Hot Dots <enter>
- From: <enter>
- Save this table in a file (Y or N)? Y <enter>
- Table file name? SPELLFIX.RUL <enter>
- Search and Replace started ...
-
- Entering control characters in transformation rules
-
- You can enter control characters in your From and To strings. Alert
- Hot Dots that the next character you type will be a control character by
- pressing Ctrl-V. (V stands for "verbatim".) Then type the control
- character itself. For example, you can enter your own version of
- CLEAN.RUL to change carriage returns to spaces. Since pressing <enter>
- marks the end of a string, you cannot specify searching for <enter> by
- simply pressing <enter>. <enter> is also known as Ctrl-M Ctrl-J, or
- carriage return/line feed. To put more than one control character in a
- string, you must press Ctrl-V before each one. Type the From and To
- strings like this:
-
- From: <Ctrl-V> <Ctrl-M> <Ctrl-V> <Ctrl-J> <enter>
- To: <space> <enter>
-
- The Ctrl-V is very important! In the example above, if you didn't
- press Ctrl-V first, Hot Dots would interpret the first <Ctrl-M> as the
- end of the From string, and hence the end of the transformation rules.
-
- Another way to put control characters in a From or To string (using
- tilde followed by two hexadecimal digits) is discussed later in this
- section, under "Editing a Rules File." That method is also available
- here, and you must use that method if you want a From or To string to
- include certain characters, like vertical bar or tilde.
-
- Correcting mistakes
-
- When you're writing transformation rules, you can use the backspace
- key to erase mistakes before ending the string with <enter>. (However,
- you cannot use the escape key to return to the beginning of the string.)
- Once you've pressed <enter>, there's no way to go back and correct a
- mistake in a previous string.
-
- Saving a rules file
-
- Before Global replace transforms your file, it asks Save this table
- in a file (Y or N)?. When you answer no, the Global search and replace
- function begins and you're returned to the Main menu when finished. When
- you answer yes, you're prompted for the name of the rules file. Type the
- filename (including extension). After the rules file is saved, Global
- begins.
-
- Editing a rules file
-
- You can edit a rules file just as you can edit any other file. The
- From string appears first, and then a vertical bar separates it from the
- To string. Do NOT delete this bar or enter any extra vertical bars. If
- you did, the structure of the rules file would be changed and Hot Dots
- would not be able to use this rules file correctly. You can add, delete,
- or change text, but the vertical bar must still separate the From and To
- strings.
-
- A control character in a From string or To string is represented in
- the rules file with the tilde (~) character as an identifier followed by
- its ASCII value expressed in two hexadecimal digits. Hexadecimal is the
- numbering system you use if you have 16 fingers. The most important
- character codes to know for control characters are ~0A for line feed,
- ~0C for form feed, and ~0D for carriage return. If you want to insert
- control characters in rules files using an editor, you must use this
- tilde/ASCII-hex representation. Also, the character <space> can appear
- as ~20. (If you typed the transformation rules on the fly and then saved
- the rules file, every <space> you typed appears as ~20.) A tilde or
- vertical bar character in a From or To string also has to be represented
- in hexadecimal. A tilde is ~7E, and a vertical bar is ~7C.
-
- Things to Think About
-
- Global search and replace is very literal minded. When you create a
- From string, Global searches for exactly what you tell it to. Global's
- literal mindedness includes the distinction between upper and lower case
- letters. As far as global is concerned, "Word" is different from "word".
- To replace all occurrences of a word with something else, you may have
- to generate multiple rules to cover occurrences of the word with
- different capitalization.
-
- Be careful about unusual letter combinations. For example, if you
- use "ppi" to mean "print page indicator", you might change "floppies" to
- "floprint page indicators".
-
- Cascading rule Problems
-
- It may be tempting to write one rule to change A to B, and another
- rule to change B to C, but it may not work. For each character in the
- input file, global looks to see if any of its rules apply. Global only
- goes through the input file once.
-
- This works fine for simple applications. For example, you can have
- one rule that says "take two spaces and turn them into a single space".
- If your file has 15 spaces in a row, the output file will have only 1
- space, since this one rule continues to execute until it is reduced to a
- single space. A single space no longer meets the conditions of this
- rule. Only when no more rules apply does Hot Dots advance its pointer in
- the file.
-
- If you are aware of how Global works, you can do a lot in its
- single pass through the data. For example, suppose you are cleaning up
- some data. You write a rules file with transformation rules to change
- two spaces into one space and to change $p <space> $p into $p. You know
- that some $p indicators are separated by more than one space, but you
- expect the rule which changes two spaces into one space to take care of
- that. It doesn't! In a place where there are several spaces between two
- $p indicators, Global does shrink them down into one space. But by that
- time, Global's pointer into the data is already past the first $p and it
- cannot go back. However, if one of your rules changes $p followed by two
- spaces into $p followed by one space, things work fine.
-
- If you write a rule that increases the length of the material
- (i.e., the replacement string is longer than the original string), the
- program jumps to the end of the inserted segment. This prevents infinite
- loops. For example, if you wrote a rule that said "turn any occurrence
- of x to xx", you would not want Global to fill your hard disk with x's.
-
- If you really need to "reach back" behind the current position,
- then write more than one rules file. First execute Global replace on the
- source file, using the first rules file. Then execute global again on
- the output from the first Global replace operation, using the second
- rules file. We had to do this with the rules files that we use to import
- files.
-
-