home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-21 | 73.6 KB | 1,963 lines |
- \fill\justify
- \ lft-marg 1/2"
- \ line-length 7"
- \ leading 0
- \ par-space 4p
- \ top-margin 1/2"
- \ bottom-margin 1/2"
- \ footing-margin 2
- \ widow 3
- \$1
- \$foot\ce\rn\=pn\*
- \font Times-Roman
- \font b:penprint\attach 8
- \character-height 24p
- \ce \tall{EP Command Reference}
- \character-height 22.
- \font b:bodoni-bold\attach 9
- \leading 1p\ps 8p
-
- \f8
- After each command in the following list is an abbreviated indication
- of what sort of argument it takes, and whether it causes a break.
- An asterisk means that it does cause a break.
- When there is a break, any partially formed output line is printed
- without right-justification and a new output line is started.
- If there is no text currently waiting to be put in an output line,
- then a break has no effect.
- The kinds of arguments allowed are:
- \f9 {n} - A plain old number goes here (0-32767).
- \f9 {b} - A Boolean number: 0 for false, 1 or any other number for true.
- \f9 {h} - A number or fraction interpreted as a horizontal measure.
- \f9 {v} - A number or fraction interpreted as a vertical measure.
- \f9 {c} - A character, either literal or by ascii number.
- \f9{expression} -\skip-up
- Numerical expression.
- \f9{block} - Text enclosed in braces.
- \f9{line} - Remainder of the input line.
- \f9{file-name} -\skip-up
- Name of text file to be imbedded, or font file.
-
- When a command allows a numerical argument, but none is given, 1 is assumed.
-
- For horizontal measures, the understood unit of measure is 1/10", unless
- another unit is indicated by a following `.' (meaning 1/240") or `p'
- (1/80") or `"' (inch).\br
- For vertical measures, the understood unit of measure is 1 line, as
- determined by the current \f9 {character-height} and \f9{set-leading}
- values, unless another unit is indicated. If the defaults have not been
- changed, this value will be 11 points. Another vertical unit may be
- indicated by a following `.' (meaning 1/216") or `p' (1/72") or `"' (inch).
- \br
- For all numerical arguments, a `+' or a `-' may precede the
- argument, in which case the value is added to
- or substracted from the old value, rather than replacing it.
- If the name of the command is not given with a hyphen, the `-' must be
- preceded by a space, so that it will not be confused with a hyphen.
- If no numerical argument is given after the `+' or `-', 1 is added or
- subtracted.
- Numbers are always unsigned, and a ``fraction'' is a number followed
- immediately by a slash followed immediately by another number.
-
- Here are some examples:
- \\indent 4/3" \\* indent 1 1/3 inches
- \\indent + 1/2" \\* indent an extra 1/2"
- \\indent +1 \\* indent an additional 8 points (1/10")
- \\in+ \\* likewise
- \\in -1p \\* 1 point less indent
- \\char-space \\* add 1/10" space after each character (a lot)
- \\par-skip \\* set the paragraph spacing to the current
- \\* character-height plus the current leading
- \\* (i.e. the height of one line)
- \\par-skip+ \\* space paragraphs by an additional line
-
- A numerical \f9{expression} is a formula built up from numbers or
- fractions, variables, parentheses, and the operators +, -, *, /, =, >,
- <, >=, <=, <> following the usual rules of precedence.
- The compounded symbols for comparisons can be given in either order
- (=> is the same as >=) and == can be used for =.
- Expressions are recognized after `\\command-name =' and in a few other
- contexts
- (see \f9{\\if} below, under Variables, and under Special Characters).
- In expressions, if no dimension is indicated after a number, it is assumed
- to be undimensioned or to refer to dots.
- This is different from the convention for numbers elsewhere.
- E.g.
- \\indent 8 \\* set the indent to 8/10s of an inch\br
- versus \\indent = 8 \\* set the indent to 8 dots, or 2 2/3 points
-
- In most cases for a \f9{line} argument, additional lines from the
- input file can be adjoined by ending a line with a `\\'.
- The lines are adjoined regardless of whether \f9{concatenate} is `on',
- and no space is added between the last character before the `\\' and
- the first character of the adjoined line.
- The group of joined lines counts as a single input line, so that
- \offst 6
- (1) \cl 6 an adjoined line beginning with a space will not cause a break,
- \offst 6
- (2) \cl 6 a \f9{center} command, e.g., causes a break after the whole
- group of joined lines,
- \offst 6
- (3) \cl 6 in defining a string, after \f9{$heading} e.g., all the joined
- lines become part of the definition.
- \in 0
-
- File names may have drive prefixes, but no designation of a user
- area (although a user prefix may be used for the main text file
- -- e.g. `A>ep 3/b:sample').
- The \f9{user} command can be used to reference fonts in other user
- areas.
- If the same font is referred to more than once by name, a drive
- prefix need not be used after the first reference.
- Font file names are always made to have the
- extension `.\uc FN2\uc0', regardless of any extension that may have been given
- as part of the name.
- The character `{' cannot be part of a file name, since it is interpreted
- to mean the beginning of a block (in the relevant context).
- The first character of a file name cannot be `$', because this would
- be confused with a reference to a command line argument.
- A name that is longer than eight characters, not counting any extension,
- is truncated.
- If any `-' characters occur in the file name, this is given a special
- interpretation -- the hyphens are eliminated, and the parts of the
- name are truncated
- so as to include at most 4 characters from the part before the first
- hyphen and at most 4 from the part after. If there is a second hyphen,
- then in a similar fashion, at most 2 characters come from before this
- hyphen and at most 2 from after it. And so on.
- When there are more than 3 hyphens, the last character of the name will be
- the character that comes after the last hyphen.
- If you're still with me, you may be thinking you'd prefer not to
- use hyphens in file names at all, but the convention is easier to use than
- it is to describe. (For examples see EPUSE.DOC.)
-
- A \f9{c} character argument is the next literal non-blank non-tab
- character that occurs after the command name on the same input line,
- unless this is an end-of-line or a digit.
- End-of-line is taken to be character 0, i.e. NUL.
- If it's a digit, it is assumed that a character is being referred
- to by its ascii number. E.g.
- \\tab-char : \\* make the tab character a colon
- \\tab-char 20 \\* make the tab character a ^T
- \\tab-char
- \\tab-char 0 \\* last and this line both mean ``no tab char''
-
-
- \f8
- \tall{Page Format}
-
- \f9 adjust h *\br
- \f9 left-margin h *
-
- \f8\in 1"
- Both these set the left margin (counting from the left-most print
- head position, not from the left edge of the paper).
- Note that when the left margin is set, you would ordinarily want to
- set the \f9{line-length} to some appropriate value, as well.
- \in 0
-
- \f9 left-inside h *\br
- \f9 left-outside h *
-
- \f8\in 1"
- These commands specify a distance to be added to the left margin
- on odd and even numbered pages, respectively.
- \in 0
-
- \f9 line-length h *
-
- \f8\in 1"
- Sets the right margin to the \f9 {adjust\} value plus {h}.
- (Default is 8 inches.)
- \in 0
-
- \f9 leading v\br
- \f9 set-leading v
-
- \f8\in 1"
- Both these set the vertical space to be left between lines of characters.
- The height of a line will be the value
- of \f9 {character-height\} plus {leading}.
- (Default is 2 points.)
- \in 0
-
- \f9 page-length v
-
- \f8\in 1"
- Sets the value for the paper length that EP should assume.
- (Default is 11 inches.)
- \in 0
-
- \f9 top-margin v
-
- \f8\in 1"
- Sets the distance to be left between the top of the page and
- the first line of printed text.
- (Default is 1 inch.)
- \in 0
-
- \f9 heading-margin v
-
- \f8\in 1"
- Sets the distance to be left between the first line of printed text
- and the heading or top page number.
- If \f9 {v} is 0, there will be no heading or top page number.
- If it is not 0, but no heading line has been defined by the
- \f9{$h} command described below, the page number will be printed
- at the top, centered and
- using the first letter font that was requested, or Epson native
- characters if no letter font has been requested.
- The values of \f9{top-margin\} and {heading-margin} define for
- EP the initial vertical position of the print head on the paper.
- When printing first starts, EP assumes that the printhead is where
- the heading line or top page number should go, or at the top margin,
- if there is to be no heading or top page number.
- (Default is 0.)
- \in 0
-
- \f9 $heading line
-
- \f8\in 1"
- The remainder of the input line is stored away, and formatted and
- printed at the top of every page, at the position defined by the
- values assigned to \f9{top-margin} and \f9{heading-margin},
- provided the latter is not 0.
- If the input line ends with `\\', additional input lines are also
- stored as part of the heading, until one does not end this way.
- With a few exceptions, the line may include any formatting
- commands, and may define more than one output line (in case it contains
- commands causing breaks).
- Indentation is not used in headings.
- The heading should always end with `\\*', and the \f9{escape-character}
- in a heading is assumed to be whatever was current when it came time
- to print the first character.
- Here is an example:
- \\$heading\\font Lydian\\center Frogs\\font Helvetica\\right-adjust\\=page-number\\*
- \break
- And another example:
- \\$hdng\\in-adjust\\emph{Vines}\\break\\skip-up\\out-adjust\\
- \\Roman-numeral\\=page-number\\*
- \break
-
- Before printing a heading or footing, the values indicated in the
- following list are saved and the new values given in the left
- column are assigned.
- After the heading or footing is printed, the former values are restored.
- current print mode font 1, italic 0, expanded 0,
- etc. (0 for other print mode commands)
- escape-character value found when first character
- of file was printed
- numberof-columns 0
- current-column 0
- concatenate 0
- justify 0
- bold 0
- width-factor 100
- character-height 8 points
- character-spacing 1 point
- leading 2 points
- kern 0
- character-width 0
- bend 0
- align 0
- upper-case 0
- \in 0
-
- \f9 bottom-margin v
-
- \f8\in 1"
- Sets the distance to be left between the last line of printed text
- and the bottom of the page.
- (Default is 1 inch.)
- \in 0
-
- \f9 footing-margin v
-
- \f8\in 1"
- Sets the distance to be left between the last line of printed text
- and the footing or bottom page number.
- If \f9 {v} is 0, there will be no footing or bottom page number,
- and there will not be an automatic page eject after all the text
- one the last (or only) page has been printed.
- (Default is 10 points.)
- \in 0
-
- \f9 $footing line
-
- \f8\in 1"
- The remainder of the input line is stored away, and formatted and
- printed at the bottom of every page, at the position defined by the
- values assigned to \f9{bottom-margin} and \f9{footing-margin},
- provided the latter is not 0.
- In other respects, this is like the \f9{$heading} command.
- (Default is none.)
- \in 0
-
- \f9 page-number n
-
- \f8\in 1"
- Sets the page number. `\f9{\\=page-number}' prints the current
- page number. `\f9{\\Roman-numeral \\=page-number}' prints it in lower
- case Roman numerals,
- and `\f9{\\Roman-numeral \\ucase \\=page-number \\ucase0}' prints it in
- upper case Roman numerals.
- \in 0
-
- \f9 room v *
-
- \f8\in 1"
- If there is not \f9 {v} room on the current page,
- causes a new page to be started.
- \in 0
-
- \f9 skip v *
-
- \f8\in 1"
- Leaves blank space on the current page. This will never leave any
- space at the top of a page, unless it is the very first page, or
- a preceding \f9 {room} command caused a page eject.
- \in 0
-
- \f9 skip-up v *
-
- \f8\in 1"
- Moves the print head back up the page. Works fully only with the FX-80,
- but you can get up to within a point of the previous line with the MX.
- \in 0
-
- \f8
- \tall{Line Format}
-
-
- \f9 concatenate b *\br
- \f9 fill b *
-
- \f8\in 1"
- Start or stop filling out print lines by stealing words from
- following lines in the text file.
- \in 0
-
- \f9 -
-
- \f8\in 1"
- Gives a conditional or ``soft'' hyphen which is equivalent to
- the control character 1EH.
- During concatenation, a word may be divided between lines at a
- conditional hyphen and a real hyphen substituted.
- However, if the word happens not to be divided, or the preceding
- character is a real hyphen, the conditional hyphen disappears.
- \in 0
-
- \f9 justify b *
-
- \f8\in 1"
- Start or stop right justification.
- Native Epson characters take a \it 0{long} time to print with
- justification, but it can be done.
- When \f9{concatenation} is in effect, justified print lines will
- not always have exactly the same number of words as they would
- without justification, since EP sometimes puts an extra word on a
- justified line to improve the spacing.
- \in 0
-
- \f9 looseness-factor n
-
- \f8\in 1"
- Set the factor by which loose justified lines are to be preferred
- to tight justified lines.
- When both justification and concatenation are being done, it must
- be decided whether to include an extra word in a line and compress
- the inter-word spaces to line up the right margin, or to wait and
- put the word on the next line -- then the inter-word spaces have
- to be expanded.
- The first strategy gives a ``tight'' line and the second, a ``loose''
- one.
- It looks worse to bring words closer together than to space them
- further apart, other things being equal, so EP prefers looseness
- to tightness.
- But a little tightness is better than a lot of looseness.
- In making this decision, the percentage by which spaces would have
- to be compressed for a tight line is compared to the percentage
- by which they would have to be expanded for a loose line.
- Only if the loose percentage is more than \f9{n} times the
- tight percentage will a tight line be resorted to.
- (Default is 4.)
- \in 0
-
- \f9 break *
-
- \f8\in 1"
- Cause previous text which is destined for the current output
- line to be printed without right justification.
- Subsequent text goes in a new output line.
- When there is no text waiting to be printed, this command
- has no effect.
- \in 0
-
- \f9 punctuation-factor n
-
- \f8\in 1"
- Set the factor by which the space after an ending punctuation mark
- is expanded.
- One generally expects to see a little extra space between the end of
- a sentence and the beginning of the next.
- When \f9{n} is not zero, a space after a `.' or a `?' or a `!' is
- widened by 2/n.
- The widening is still performed when one or more single quotes,
- double quotes, or
- right parentheses come between the end punctuation and the space.
- This may produce inappropriate spacing when these ``ending''
- punctuation marks
- are not actually intended to end a sentence, as after initials or in
- contexts like those in the second sentence preceding this one.
- One way to prevent the extra space in such instances is to use
- the \f9{required-blank} character instead of a space.
- (Default is 6, for a 33 1/3% increase.)
- \in 0
-
- \f9 no-break
-
- \f8\in 1"
- Cause previous text which is destined for the current output
- line to be printed.
- This is like \f9{break} except that it does not prevent
- right justification.
- \in 0
-
- \f9 indent h *
-
- \f8\in 1"
- Indent subsequent lines by \f9 {h} to the right of the
- left margin as
- determined by the \f9 {adjust}.
- \in 0
-
- \f9 indent-right h *
-
- \f8\in 1"
- Indent subsequent lines by \f9 {h} to the left of the
- right margin as
- determined by the \f9 {adjust\} and the {line-length}.
- \in 0
-
- \f9 indent-line h *
-
- \f8\in 1"
- Indent only the next line
- by \f9 {h\} to the right of the {adjust\} plus the {indent}.
- \in 0
-
- \f9 undent h *
-
- \f8\in 1"
- Indent only the next line
- by \f9 {h\} to the left of the {indent}.
- An undented line is allowed to protrude to the left of the
- \f9{adjust} value, but of course no further than the leftmost
- position of the printhead.
- \in 0
-
- \f9 offset h *
-
- \f8\in 1"
- Indent all but the next line
- by \f9 {h\} to the right of the {adjust,}
- until the next \f9{offset\} or {indent} command.
- \in 0
-
- \f9 left-adjust *
-
- \f8\in 1"
- Cancels all indentation for the next line.
- This is handy for headings, when there is a \f9{paragraph-indent.}
- \in 0
-
- \f9 right-adjust
-
- \f8\in 1"
- Right-adjust the remainder of the current output line
- so that it ends at the right margin, as
- determined by the \f9 {adjust\} and the {line-length}.
- A line with right-adjusted text will not be right justified.
- This command causes a break before the next input line.
- \in 0
-
- \f9 out-adjust line\br
- \f9 in-adjust line
-
- \f8\in 1"
- These are the same as \f9{right-adjust,} except that \f9{out-adjust}
- has effect only on odd numbered pages, and \f9{in-adjust} has effect
- only on even numbered pages.
- These commands cause a break before the next input line.
- \in 0
-
- \f9 center
-
- \f8\in 1"
- Center the remainder of the current output line, or at least everything
- up to right adjusted text, between the left and right margins, as
- determined by the \f9 {adjust\} and the {line-length}.
- If the width of previous text on the line makes centering impossible,
- naturally, there will be no centering.
- Unadjusted, centered, and right-adjusted text can all three occur
- on the same output (or input) line.
- A line with centered text will not be right justified.
- This command causes a break before the next input line.
- \in 0
-
- \f9 horizontal-space h
-
- \f8\in 1"
- Leave blank space. The space left does not count as a word
- break, and, unlike that left by a SP character, is not altered
- during right-justification or changed by \f9{\\com-press,
- \\elite,} etc. The space may be underlined.
- \in 0
-
- \f9 character-spacing h
-
- \f8\in 1"
- Add \f9 {h} distance after each character.
- The actual space after a character is determined by the interaction
- of a number of circumstances.
- The basic value
- will be the value \f9{h} given with this command, plus whatever
- white space was included in the font definition of the
- character shape, plus the signed kerning value that was specified
- for the font (using ECHED), minus the value assigned
- with the \f9 {kern} command below.
- But further adjustments can be made because of the values assigned
- by the \f9{bold, punctuation-factor, \}and{ space-capitals} commands,
- and also those commands that shrink or compress characters.
- (Default is 1 point.)
- \in 0
-
- \f9 kern h
-
- \f8\in 1"
- Subtract \f9 {h} distance after each character.
- A kerned character will be overlapped with a following character,
- provided the \f9 {kern\} value is greater than {character-spacing},
- yet less than the width of the character plus the \f9 {character-spacing}.
- If this last condition is not met, kerning has no effect.
- When a kerned character is not followed by a character, it might
- protrude past the right margin (so please do give a following character).
- In effect, this command allows a negative character-spacing, and is
- intended for the situation where a certain pair of letters should be
- close set (`WA', `fl', `fi', etc.).
- For another way to accomplish this, see \f9{$kernpairs} below.
- \in 0
-
- \f9 $kernpairs line
-
- \f8\in 1"
- The \f9{line} is a string of pairs of characters which should be
- set closer to one another.
- Whenever one of the pairs is encountered in the text, 2 dots of
- space (2/3 of a point) is taken away from between them.
- If the same pair of characters occurs more than once in the string,
- 2 dots of space are removed for each occurrence.
- The kerning action is not initiated until the \f9{$kernpairs} string
- is associated with a font by issuing the \f9{attach} command.
- Then whatever \f9{$kernpairs\} string has been defined becomes attached
- to the current font, and only characters from this font will be affected.
- However, \f9{attach} can be reissued for any or all of the other fonts
- in use, and if the \f9{$kernpairs} string has been redefined in the
- meantime, then different strings can be associated with different fonts.
- Here are example commands to move all `ff' and `--' combinations
- 2 dots closer to one another and `W' and `A' in either order 4 dots
- closer, for both fonts 1 and 2:
- \\$kern ff--WAWAAWAW
- \\{\\f1\\attach\\f2\\attach}
- \br
- Two characters from different fonts are never kerned, and also an
- italic character followed by a non-italic character will not be
- kerned (but 2 2/3 points will be added to its width instead).
- A way to prevent kerning in a specific case is to use a soft
- hyphen, e.g. `shelf\\-ful' or `shelfful' (but then the word may
- be divided between lines).
- \in 0
-
- \f9 space-capitals n
-
- \f8\in 1"
- Increase the space between every pair of contiguous capital
- letters by \f9{n} dots.
- (Default is 2.)
- \in 0
-
- \f9 width-factor n *
-
- \f8\in 1"
- Adjust the width of characters by \f9{n\} percent, where {n} is from
- 50 to 200. If no argument is given, this is equivalent to 100
- (and 100% of normal width is normal).
- The adjustment made is compounded with that of other commands
- which stretch or shrink characters, so, e.g., expanded characters
- that are adjusted by a factor of 200 will be four times their
- normal width.
- \in 0
-
- \f9 character-width h *
-
- \f8\in 1"
- When \f9 {character-width} is set to a non-zero value, this
- deproportionalizes all letter fonts and forces each character
- to the width assigned. Characters are stretched or shrunk to fit
- within the specified space, allowing for \f9{character-spacing},
- but only up to 50% compression or 100% expansion.
- If more than 100% expansion would be required, the expanded
- character is centered within the extra wide space.
- The fixed character width may undergo further adjustment
- by other commands which stretch or shrink characters.
- This looks best with a square serifed font like Stymie.
- \in 0
-
- \f9 character-height v *
-
- \f8\in 1"
- The real height of characters is 8 points, and that is the
- default value for \f9 {character-height}. A smaller value
- (but not less than 1 point) may be assigned to cause vertical
- overlapping of lines, but the actual size of the characters
- is not changed. In effect, this allows a negative leading.
- \character-height 14p\align
- Values larger than 8 points affect only \f9 {tall}
- characters (\it {q.v.}), and cause them to be vertically stretched.
- Permissable values run from 8 points through 16 points at
- one dot intervals, and from 24 points through 48 points at
- one point intervals. \tall {For instance, these are 14 point
- characters.} At present, characters of 24 points or greater
- cannot be mixed with non-\f9 {tall} characters on the same
- output line, and also cannot be used in \f9 {double-strike}
- mode. (Except that 48 point \f9{double-strike} characters should
- turn out ok.)
- \break\tall 2
- When \font 2 {tall} is given the value 2, only the second and
- next to last rows of dots in characters' dot-patterns
- are modified. The intent here was to allow stretching only
- descenders and ascenders, but the actual effect is often rather peculiar.
- \tall 0
- \in 0
-
- \f9 align n
-
- \f8\in 1"
- This command is provided to help match up the baselines
- of \f9 {tall\} and non-{tall} characters, since in general
- they will not match.
- Non-\f9 {tall} characters in an output line that has one or more
- \f9 {tall\} characters are moved up by {n} points.
- \in 0
-
- \f9 required-blank c
-
- \f8\in 1"\reqd-blank
- The character assigned by this command is printed as a space,
- but is not treated as a word separator. Two words separated
- by the \f9 {required-blank} character will always be printed
- on the same line, and the space between them will not be changed
- during right justification. The width of the space will be what
- the width of an unjustified real space would be in the
- circumstances -- i.e. it is determined by the width of a space
- character in the current font, adjusted by the character spacing,
- kerning, and any stretching or shrinking controls that are in effect.
- (Default is the underscore character `_'.)
- \in 0\reqd-blank _
-
- \f9 repeat-character n c
-
- \f8\in 1"
- Print \f9{c\} {n} times, where {n} is from 1 to 255.
- For this command only, the \f9{c} argument is the next output
- character, not necessarily the next non-blank literal character
- on the line (as in other cases).
- Also, a digit is treated as a character (as opposed to a number).
- For instance, `\f9{\\rc 6\\blanks}' prints 6 blanks,
- and `\f9{\\rc 20 \\bullets}' does 20 bullets, if bullet is defined
- in the current font.
- \in 0
-
- \f9 repeat-line n line
-
- \f8\in 1"
- Print \f9{line\} {n} times, where {n} is from 0 to 255.
- Unlike the above \f9{repeat-character} command, an argument of
- 0 is treated appropriately -- the line is not printed at all.
- The \f9{line} may be continued with a trailing `\\' as usual,
- but in other cases the total length of the line including all
- continuations is not a matter to be concerned about.
- Here, it is, since all the stuff has to be kept in a buffer which
- has a 300 character capacity.
- If you have the need to construct longer iterative procedures,
- you should place portions in defined strings and refer to them
- after \f9{repeat-line}.
- \in0
-
- \f9 <\break
- \f9 back-space
-
- \f8\in 1"
- For native Epson characters, a back-space is sent to the Epson.
- For letter fonts, the next character is printed over the preceding
- character, and the middles of the two characters are aligned (in
- an attempt to deal with diacritics).
- The width of the combined characters is the same as that of the first
- character, were it to appear alone.
- For letter fonts, a back space should not be put after another back space.
- \in 0
-
- \f9 ,\br
- \f9 .
-
- \f8\in 1"
- These commands do nothing.
- After `\f9{\\,}' subsequent blanks or tab characters (^I) are skipped
- over, just as after other EP commands.
- This is sometimes useful for indenting text in the source file
- without causing a break.
- But after `\f9{\\.}' following blanks or tabs are not skipped over.
- Consequently, it can be used to terminate a preceding command
- when you want following blanks to be printed.
- \in 0
-
-
- \f8
- \tall{Alignment}
-
- \f9 co-lumn h
-
- \f8\in 1"
- Print the remainder of the current output line starting
- at distance \f9 {h} from the left margin. If previous text
- on the output line makes this impossible, the next character
- will be printed abutting the last, regardless of any spaces or
- tabs that preceded the \f9 {co-lumn} command in the text.
- This command prevents justification of preceding text on the
- output line, although following text may still be right-justified.
- \in 0
-
- \f9 horizontal-fill
-
- \f8\in 1"
- This works in conjunction with the \f9{co-lumn\} or {ta-b} command to
- permit right adjustment of selected text to a column.
- The text that occurs after `\f9{\\hfil \}' and before `{\\co-lumn n}'
- is moved to the right so that it will end at column \f9{n}.
- E.g.
- \\hfil Frogs\\cl25\\hfil 10.\\cl35 15\\cl40 per peck
- \\hfil Ants\\cl25\\hfil 298.\\cl35 95\\cl40 per ton
- \\hfil old shoes\\cl25\\hfil .\\cl35 33\\cl40 each\\break
- \br produces
- \hfil Frogs\cl25\hfil 10.\cl35 15\cl40 per peck
- \hfil Ants\cl25\hfil 298.\cl35 95\cl40 per ton
- \hfil old shoes\cl25\hfil .\cl35 33\cl40 each
- \br
- \f9{Hfil\} also works with a later {tb} command to specify the
- column. Another, probably better, way to do the above is:
- \\tab-char &
- \\* Set some tab stops with a template:
- \\put-term\\cl 25\\tab-set\\cl 35\\tab-set\\cl 40\\tab-set
- \\hf Frogs&\\hf 10.&15&per peck
- \\hf Ants&\\hf 298.&95&per ton
- \\hf old shoes&\\hf .&33&each\\break
- \br
- When there is no following \f9{co-lumn\} or {ta-b} in the output
- line, a single \f9{hfil\} works like a {right-adjust} command,
- except that a break is not automatically caused after the input line.
- If there are two \f9{hfil\} commands, the first acts like a {center} \
- command, and the second like a {right-adjust} command.
- E.g. the following are equivalent:
- Some insects\\center are hard\\right-adjust to digest
- Some insects\\hfil are hard\\hfil to digest\\break
- \in 0
-
- \f9 tab-set n\br
- \f9 tab-set
-
- \f8\in 1"
- When a numerical argument is present, this sets
- tab stop \f9{n} equal to the current horizontal position
- of the print head.
- The effects of right justification are not taken into account,
- so you probably wouldn't want to use this command in a justified line.
- Also, the stops are set before any centering or right adjustment
- has been done.
- There are 32 tab stops available numbered
- \f9{0} through \f9{31}. The following \f9{ta-b} command
- makes use of tab stop values.
- If \f9{n} is omitted, tab stop 0 is used for the first occurrence
- of this command for the current output line, stop 1 for the second,
- and so on.
- However, when \f9{n} is omitted and a previous stop was tabbed to or
- was set in same output line, the next stop is assumed.
- When you want to use a template to set the tab stops without
- printing the template, you can prefix the template line with
- \f9{put-terminal}.
- The values of the tab stops have no connection with what happens
- when real tab characters are found in the input text (unless it
- should happen that the \f9{tab-character} was set to 9).
- \in 0
-
- \f9 clear-tabs
-
- \f8\in1"
- Clear all 32 tab stops.
- \in0
-
- \f9 ta-b n\br
- \f9 ta-b
-
- \f8\in 1"
- With a numerical argument, this means move the print head to the right to
- the horizontal position stored in tab
- stop \f9{n} (by use of the previous command).
- If that is impossible because the print head is already to the right
- of the stop, the command has no effect (other than possibly eating
- up some preceding white space in the attempt to get far enough to the left).
- Although only forward movement is allowed, if you need to go backwards,
- you could start a new line and use the \f9{skip-up} command to move
- back to the start of the line before tabbing.
- If \f9{n} is omitted, tab stop 0 is used for the first occurrence
- of this command for the current output line, stop 1 for the second,
- and so on.
- However, when \f9{n} is omitted and a previous stop was tabbed to or
- was set in same output line, the next stop is assumed.
- Tabbing to a stop which has not yet been set has no effect on the
- current output line, but rather the stop is set at the current horizontal
- position.
- An occurrence of the current \f9{tab-character} causes an
- implicit invocation of this command (see the next command).
- \in 0
-
- \f9 tab-character c
-
- \f8\in1"
- Sets the character which implicitly invokes the above \f9{ta-b}
- command.
- When this character occurs in the text,
- the effect is exactly the same as if `\f9{\\tb\\.}' had been entered --
- consequently no numerical argument can be given to select the tab stop,
- blanks occurring after the tab character are not ignored, and you
- won't get a tab at all if the \f9{escape-character} has been changed
- to something other than a back slash.
- Tabs are not done in the argument lines to macro commands.
- In this latter context, the tab character has another meaning -- it is
- an argument terminator. This usage is discussed below under variables.
- \in0
-
- \f9 tab-width h *
-
- \f8\in 1"
- Tab characters encountered in the text being processed are
- expanded into a space wide enough to cause the next printed
- character to be at the 8th, or 16th, or 24th, ..., column.
- These implied tab stops at every eighth column have no connection
- with the stops mentioned above which are set with the \f9{tab-set}
- command.
- The \f9{tab-width} command is used to adjust the width assumed
- for a ``column''.
- In the absence of instructions to the contrary, EP will assume 8 point
- wide columns, except when the first tab character is encountered when
- printing native Epson characters which are compressed, elite, or
- expanded. In this special case, the width of a space character is assumed
- as the width of a column.
- Another special case occurs when \f9{\\character-width} has been
- used for non-proportional characters -- then a column is assumed
- to be one \f9{character-width} wide.
- The tabbing caused by real tab characters is screen-oriented.
- EP judges which stop to go to according to the appearance the line
- must have had when the text file was being edited, so that if
- columns were vertically aligned using tab characters, they will still
- be aligned when printed.
- \in 0
-
-
-
- \f8
- \tall{Rules and Lines}
-
- EP has two facilities for drawing straight lines: rules are only
- horizontal and vertical, lines are slanting.
- There are 32 rules at your disposal, each of which may be used either
- horizontally or vertically.
- To print a rule, specify each of its endpoints with the \f9{rule} command.
- The context decides whether the rule will be horizontal or vertical --
- if both endpoints lie in the same output line, it will be horizontal,
- else vertical.
- An endpoint is specified with a command \f9{\\rule n\}, where {n} is
- the number of the rule you want to use, from 0 to 31.
- The endpoint is placed at the current horizontal and vertical position
- of the printhead, except that for the low end of a vertical rule, the
- horizontal position doesn't matter, since it was determined by the
- first endpoint. The endpoint of a vertical is 4 points up from the
- bottom of the character line (not counting the leading), and so is
- that of a horizontal, ordinarily (but see the \f9{rhpattern} command below).
- A rule can be re-used after it has been completely printed, however
- at most two endpoints of a given rule can occur in a single output
- line. That is to say, for two horizontals in the same line, you'd
- have to use different rules, and also for a vertical ending in the
- same line as a horizontal.
- The rules numbered 0 through 23 cannot be used in heading or footing
- lines, but 24 through 31 can.
- In fact, rules 24-31 ought to be avoided in ordinary text, unless it is clear
- that they will be completely printed before a page break occurs,
- since they could crop up unexpectedly in a heading or footing.
- As is the case with tab stops, the effects of justification, centering,
- and right adjustment are not taken proper account of in setting the
- horizontal positions of rules, so you will usually want to set endpoints
- in lines where these adjustments to spacing are not made.
- However, once the upper end of a vertical rule has been established,
- it is extended downward in the same vertical line regardless of
- subsequent justification, concatenation, or changes in the margins or
- line length, until the rule is terminated.
- This means that there is no difficulty in printing justified text
- within ruled lines (boxes, for example).
- There is one exception to what was stated in the preceding paragraph.
- Rule number 1, and this rule only, can be used horizontally in lines
- with right adjusted text, and its right endpoint will be automatically
- adjusted so that it comes just before the text after right adjustment.
- The right adjustment may be that produced by the \f9{right-adjust}
- command or the \f9{horizontal-fill} command.
- This allows, e.g., filling the space before page numbers in a typical
- index or table of contents with a rule (which can be configured as
- aligned leadering -- see \f9{\\rule-hpattern} below).
- EP does not regard rules as characters, and seems to be under the
- impression that they have no width or length.
- No precaution is taken to prevent rules from being drawn over
- text or over each other. Or, to put that another way, you are allowed
- to draw rules over text or other rules, if you choose.
-
- Lines are similar to rules, except that they may slant.
- To do lines, the FX-80 is required, since its reverse linefeed feature
- is made use of.
- A line is characterized by setting its endpoints with the \f9{\\node}
- command, then issuing the \f9{\\draw} command to actually do the
- drawing.
- The vertical position of the endpoint will be set at the top of the
- current character line.
- There are 32 lines available.
- The horizontal position of the print carriage for the second ``node''
- does matter, since this will determine how the line slants.
- Horizontal lines cannot be done, and lines look the worse the more
- closely they approach the horizontal.
-
- \f9 rule n
-
- \f8\in1"
- Establish endpoint of rule number \f9{n} (see above discussion).
- \in0
-
- \f9 rule-hpattern n *
-
- \f8\in1"
- Establish which of the top 8 pins of the printhead are to be used
- in drawing horizontal rules, and select certain other options.
- \f9{n} is a 16 bit word value whose low order byte selects some
- combination of pins.
- The 8th bit triggers the top pin, the 7th
- bit, the next pin down, etc.
- The default value of 16 uses the 4th pin down, and this will align
- the endpoints of horizontal and vertical rules (to within 1/108",
- at least).
- Various sums of powers of 2 can be used for solid bars or double lines,
- underlines or overlines.
- The high order byte is used to flag a couple of special options
- and to mask out parts of the rule to obtain various sorts of leadering.
- The 9th bit (add 256 to \f9{n}) causes rules to be drawn on all three
- passes of the print head (instead of just the second pass).
- The 10th bit (add 512 to \f9{n}) does not affect horizontal rules,
- but rather prevents the tops and bottoms of vertical rules from being drawn.
- The 11th-16th bits (add 1024, 2048, 4096, 8192, 16384, or 32768 to \f9{n})
- cause parts of the rule to be omitted. When a matching bit in the
- address of a potential rule dot is `1', no dot is placed there.
- Well, it's a little hard to explain.
- But adding 4096, e.g., produces 1/30" dashes, and adding 2048 + 4096 + 8192
- gives dots spaced at about 1/8".
- When such ``leadering'' rules are used in successive lines, the dots
- or dashes are vertically aligned.
- Here is an example of what the commands for constructing an index
- might look like:
- \\rule-hpattern = 4 + 2048 + 4096
- asparagus \\rule\\rule\\right-adjust 69
- broccoli \\rule\\rule\\right-adjust\\italic see pig-swill
- tips \\rule\\rule\\right-adjust\\italic see asparagus
- \in0
-
- \f9 rule-vpattern n *
-
- \f8\in1"
- Establish the thickness of vertical rules.
- \f9{n} = 0 gives a thin rule one dot wide -- higher values give
- a width of \f9{n} + 1, to a maximum of \f9{n} = 255.
- \in0
-
- \f9 node n
-
- \f8\in1"
- Establish endpoint of line number \f9{n} (see above discussion).
- \in0
-
- \f9 draw *
-
- \f8\in1"
- Initiate the drawing of lines after all endpoints have been
- set using the above \f9{\\node} command.
- \in0
-
-
- \f8
- \tall{Paragraphs}
-
- Either an empty line in the input file or the \f9{pp} command
- signals the beginning of a paragraph. The next input line that
- has printing characters begins the first line of the paragraph.
- The following commands control what action EP takes when it
- encounters the beginning of a new paragraph.
-
- \f9 paragraph-indent h *
-
- \f8\in 1"
- Indent the first line of each paragraph by \f9{h.}
- Note that this indentation can be cancelled for a heading by
- using the \f9{left-adjust} command.
- \in 0
-
- \f9 hanging-indent h *
-
- \f8\in 1"
- Indent all but the first line of each paragraph by \f9{h.}
- This is handy for offsetting items in lists of
- bibliographic references.
- \in 0
-
- \f9 paragraph-skip v
-
- \f8\in 1"
- Move down by \f9{v} at the beginning of each new paragraph.
- It is sometimes convenient to set this value to 0, so that empty
- line in the input file can be used to signal the beginnings of new
- paragraphs, without actually leaving any vertical space in the
- printout.
- (Default is 10 points.)
- \in 0
-
- \f9 pp *
-
- \f8\in 1"
- Start a new paragraph.
- \in 0
-
- \f9 widow v
-
- \f8\in 1"
- Sets the vertical distance which must remain above the bottom
- margin when the first line of a paragraph is printed.
- If there is not enough room, a new page is started.
- Although this command can help avoid the unpleasantness of the
- first line of a paragraph appearing alone at the bottom of a page,
- it does not help with the other kind of ``widow'' -- the last
- line of a paragraph appearing alone at the top of a page.
- (Default is 20 points, which is 2 default line heights.)
- \in 0
-
-
- \f8
- \tall{Print Mode}
-
- The manner in which characters are printed is determined by
- the print mode. There are 14,465 distinct print modes, each invoked by
- some combination of the following 14 commands.
- The \font 2 {proportional} command affects only native Epson
- characters; the next nine commands
- (\f9 {elite\} through {under-line}), together with {font} and {if},
- affect both Epson characters and letter characters; the
- commands \f9 {tall\} and {bend} concern only letter font characters.
- For Epson characters, not all combinations of commands give
- distinct modes -- for details see
- the Epson manual.
- The use of blocks is optional, but
- for the most part, the most convenient way to use these commands
- is in the form: `\f9 {\\command block\}', where {block} is a
- portion of text surrounded by braces. The braces are not printed,
- and only the text they enclose is affected by the command. The left
- brace that begins a text block must follow the command on the
- same input line, but the closing right brace can occur anywhere later
- in the file, or not at all, for that matter. So a text block can
- consist of nothing, a single character, or any amount of text up to
- the entire remainder of the file. Blocks may occur inside blocks,
- to a maximum nesting level of 59 (but only 6 in multiple column mode).
- Any print mode commands issued within a text block have no effect
- outside that block.
- A numerical argument of 0 or 1 corresponding to the \f9 {b} in
- the following list is usually unnecessary when blocks are used,
- since 1, or ``on'' is assumed.
- But it may sometimes be convenient to use a 0 to give
- the command a negative sense -- that is, to turn a mode off for
- a block of text.
- Fonts may be configured using ECHED so that a special print mode
- is automatically invoked for any character from that font.
-
- \f9 proportional b block
- \f8\in1"
- Gives proportional Epson characters on the FX-80.
- \in0
-
- \f9 elite b block
- \f8\in1"
- Elite Epson characters on the FX-80, and letter font characters
- compressed to 4/5ths normal width.
- \in0
-
- \f9 com-pressed b block
- \f8\in1"
- Compressed Epson characters, and letter font character compressed
- to 1/2 normal width.
- \in0
-
- \f9 emphasized b block
- \f8\in1"
- Shadow printed characters. Letter font characters may be printed
- more than twice and spaced further apart with the \f9{bold} command.
- \in0
-
- \f9 double-strike b block
- \f8\in1"
- Equivalent effect for Epson and letter font characters.
- \in0
-
- \f9 expanded b block
- \f8\in1"
- Equivalent effect for Epson and letter font characters.
- \in0
-
- \f9 italic b block
- \f8\in1"
- Gives slanted or oblique characters (not really italic) for
- Epson and letter font characters.
- For the latter, the dots defining the character shape are displaced
- to the right by 8/216" at the top of the character and varying down
- to no displacement at the bottom.
- When a slanted character is followed by a normal one or comes at
- the end of the line, EP makes the italic character wider by 8 dots
- to compensate for the displacement.
- \in0
-
- \f9 su-perscript b block
- \f8\in1"
- Equivalent effect for Epson and letter font characters.
- \in0
-
- \f9 su-bscript b block
- \f8\in1"
- Equivalent effect for Epson and letter font characters.
- Letter font characters which are simultaneously subscripted and
- superscripted are placed vertically in the middle of the line.
- \in0
-
- \f9 under-line b block
- \f8\in1"
- Underlined Epson characters and letter font characters.
- For justified text in native Epson characters, proportional inter-word
- spaces are underlined only on the FX-80.
- Underlining for letter font characters is broken off around the
- descenders of characters.
- \in0
-
-
- \f9 font file-name block\break
- \f9 font n block\break
- \f9 f0,f1,f2,f3,f4,f5,f6,f7,f8,f9
-
- \f8\in 1"
- An argument of \f9 {n} = 0 requests native Epson characters;
- the other forms of this command request a letter font either by
- name or number. If a number is used, this requests the \f9 {n}th
- font that was previously requested by name. Ordinarily the highest value
- for \f9{n\} is 7 (but see the {attach} command below).
- If fewer than \f9{n\} letter fonts have been requested, then {n}
- is automatically decreased until one can be found.
- The commands \f9{f0,f1,...f9} are just short forms for
- \f9{font 0, font1, ... font 9}. In the short form, the 'f' must be
- lower case.
- A file-name may have a drive prefix, and names with hyphens are
- abbreviated by extracting the first few letters from each of the
- parts of the compound.
- Instead of a file name, `$' followed by a number can be used. Then
- the file name is obtained from the command line that was typed when
- EP was called up. The number specifies which of the list of names that
- were given to use. E.g. after
- A>ep sample chapter-one chapter-two lydian-italic\br
- if the file `sample' has the command \f9{\\font $3}, this would
- act the same as the command \f9{\\font lydian-italic}.
- When there was no \f9{n}th name listed, the command is ignored.
- \in 0
-
- \f9 graphics-font file-name block
-
- \f8\in1"
- This is the same in many ways as the \f9{font} command described
- above, but the file loaded is really not a font, but a graph
- masquerading as a font. The font numbers associated with a graphics
- font are not distinct from those associated with normal fonts.
- The command is intended for the ``bit-image'' files produced
- by Fox & Geller's dGraph, and the file extension is assumed to be `.BTP'.
- The format of these files is that of an array of 40 by 450 bytes,
- where the first 450 bytes if sent to the Epson in graphics mode
- produce the top 1/40th of the graph, and so on.
- In a ``font'' loaded with this command, the 40 characters starting
- with `@' and ending with `g' contain the 40 rows of the graph, and
- each is 450 dots wide.
- The advantage of this seemingly odd way of imbedding pictures is
- that since EP sees the graph as 40 characters, all the normally
- available indentation and print mode modifications are available,
- and sub-portions of the graph can be selected.
- Also, text can easily be added at either side, or even superimposed
- with over-printed lines.
- Here is an example set of commands for loading and displaying
- a file `sample1.btp' on drive B:
- \co0\ju0\rb
- \\rb
- \\graphics-font b:sample1\\expanded\\leading 0
- @\\br A\\br B\\br C\\br D\\br E\\br F\\br G\\br H\\br I\\br
- J\\br K\\br L\\br M\\br N\\br O\\br P\\br Q\\br R\\br S\\br
- T\\br U\\br V\\br W\\br X\\br Y\\br Z\\br [\\br\\\\\\br ]\\br
- ^\\br _\\br `\\br a\\br b\\br c\\br d\\br e\\br f\\br g\\br
- \\leading 2\\expanded 0\\rb _
- \co\ju\rb _
- The above gives a graph with compression to 1/2 the width it
- would have had if printed by dGraph.
- If you don't want any compression, you could add `\f9{\\stretch}',
- or the vertical size could be reduced by half by adding
- `\f9{\\su-perscript\\character-height 4p}'.
- Of course, compression in one direction should be matched by
- compression in the other, if pies are not to look like eggs.
- Instead of the list of characters, the above could have been
- written more economically, using:
- \\xg 64\\rept-line 40\\(xg)\\xg+\\break
-
- A .BTP file uses lots of memory, and there is not enough room
- to hold two of them in memory at once.
- Although printing two graphs side-by-side ought to be possible by
- repeated reloading from disk, in fact EP's memory allocation scheme is
- not up to the strain, so you can't do this.
- It might be good to precede and follow the loading of a graph with
- the `\f9{new-fonts}' command to avoid running out of available ram.
- \in0
-
- \f9 if expression block\br
- \f9 if expression line
-
- \f8\in 1"
- When \f9 {b} or the value of the \f9{expression}
- is 0, the block is not printed, otherwise it is.
- In fact, when the value is 0, the block is merely scanned to find
- the matching `}' that ends the block, so it is safe to make reference to files
- inside the block which are not accessible when the if-condition
- does not hold true.
- An interesting construct for making braces into comment
- enclosers is:
- \\use-braces\\if 0{\\}
- In the second form of this command, the \f9{line} argument is
- not printed when the value of \f9{expression} is 0, as you would
- expect.
- This form does not have anything to do with the print mode, and should
- not be used in macros.
- Allowing this variant syntax after \f9{if} is convenient, but perilous.
- Other print mode commands can be used in the form ``\\{\\command ...}''
- in order to confine the effect of the command to the text in the ``...''
- part.
- Doing this with the \f9{if} command creates the following situation:
- when the if-condition does not hold, the remainder of the line is not
- examined, so the ending right brace is not seen.
- Consequently, there will be an active left brace and associated print
- mode left in the air, ready to pounce on the next unmatched right
- brace found in the text.
- Since braces are usually matched, one might misuse the \f9{if} command
- in this way for a long time without noticing any ill effects.
- But on the day of reckoning, it might prove very difficult to figure
- out what was going wrong.
- \in 0
-
- \f9 tall b block
-
- \f8\in 1"
- Ordinarily doubles characters in height -- from 8 points to 16 points.
- However the height may be modified by changing \f9 {character-height.}
- \in 0
-
- \f9 bend block
-
- \f8\in 1"
- Causes some dots in the dot pattern of characters to be displaced
- to the right. The effect, if any, will be determined by what numerical
- value has been assigned to \f9 {bend} (see below).
- Note that this usage of \f9{bend} without a numerical argument does
- not cause a break and does cause bending, whereas with a numerical
- argument there is a break, but no bending.
- (Sorry, but there is a reason.)
- \in 0
-
-
- \f8
- \tall{Auxiliary Print Mode}
-
- \f9
- {
- \f8\in 1"
- Begins an unspecified text block. Any mode commands issued within
- the block will all be terminated when the block ends.
- \in 0
-
- \f9
- }
- \f8\in 1"
- This terminates a text block just like the right brace that is not
- a command, but has the additional effect of reinitiating the mode
- that was terminated for subsequent text blocks on the
- same input line of text, so long as these are not associated
- with some other mode command.
- \under-line {For\} {instance}, {in} {this} {sentence} {the}\
- {underlining} {of} {spaces} {and} {punctuation} {was} {avoided}\
- {by} {entering} {the} {following}.
- \ju 0
- \\under-line {For\\} {instance}, {in} {this} {sentence} {the}\\
- {underlining} {of} {spaces} {and} {punctuation} {was} {avoided}\\
- {by} {entering} {the} {following}.
- \ju
- A text block that is ``linked'' to a preceding one in this way
- can be nested within another text block. E.g.
- \\em{\\it0 roses\\} are \\it{not {always} predatory}
- \br
- prints ``always'' as emphasized and non-italic, the same as ``roses''.
- \in 0
-
- \f9 use-braces b
-
- \f8\in 1"
- This extends the scope of the convention associated with the
- right brace command discussed above.
- When \f9{use-braces} is true, the mode stored with the right
- brace command is re-established throughout the entire remaining
- text whenever a left brace not following a print mode command
- is encountered.
- Or at least, that is, until after an input line in which
- \f9{use-braces} is reset to 0.
- This is useful for those situations when you have a text requiring
- only 2 print modes, or primarily 2, and you don't want to clutter
- up the text with commands, but the cost is that it becomes difficult
- to print a left brace.
- \in 0
-
- \f9 bold n *
-
- \f8\in 1"
- A non-zero value assigned to
- \f9 {bold\} modifies the effect of the {emphasized} command.
- A value of 1 causes two extra dots of width to be added to each
- emphasized character. Higher values widen emphasized characters
- by \f9 {n\} * 2 dots and ``shadow print'' each character {n} - 1 times.
- \in 0
-
- \f9 bend n *
-
- \f8\in 1"
- The value assigned to
- \f9 {bend\} modifies the effect of the {bend} command when given
- without a numerical argument. A value of zero causes there to be no
- effect. Values of 1 through 2047 invoke various sorts of slanting or
- other distortion of the characters. 1 to 15 give forward slanting,
- multiples of 16 (1*16 to 15*16) give backward slanting,
- and multiples of 256 (1*256 to 7*256) give miscellaneous effects.
- Adding 4096 produces a sort of medieval effect with some fonts.
- Adding 8192 turns characters upside down.
- The selected effects are compounded and are in addition to
- italicization, if that is also requested.
- When a bent character is followed by a normal one or comes at
- the end of the line, EP makes it wider
- to compensate for the horizontal displacement.
- \in 0
-
- \f9 attach\break
- \f9 attach n
-
- \f8\in 1"
- Associate kerning or print mode information with a font.
- When a \f9{$kernpairs\} string is defined and no {n} argument is given,
- the action is as described above in the description of the
- \f9{$kernpairs} command.
- Otherwise, this modifies the effect of the \f9 {font} command,
- described above.
- The current print mode is attached to the current font, or to
- font number \f9 {n} if an argument is given, so that when the font
- is subsequently requested, the print mode will be automatically
- reinvoked. The value of \f9 {n} may be from 0 to 31, however
- the use of values less than 8 might be confusing, since the
- association between font names and fonts could change. The use of
- a number greater than 7 with the \f9 {font} command is
- permitted only when a print mode has previously been attached to this
- font number.
- Font 0 cannot have the ``pica'' print mode attached to it.
- \in 0
-
- \f9 upper-case n
-
- \f8\in 1"
- If \f9{n} is not 0, shifts subsequent text to upper case.
- \in 0
-
-
- \f8
- \tall{Control}
-
-
- \f9 imbed file-name
-
- \f8\in 1"
- After the current input line has has been processed, text will be
- taken from the named file until it is exhausted, then the line after
- the \f9 {imbed\} command is processed, and so on. The {imbed} command
- can occur within an imbedded file. The maximum permitted level of
- nesting is 7.
- The file name may have a drive prefix (see also the next commands).
- Names with hyphens are condensed in the same way as font file names are.
- Instead of a file name, `$' followed by a number can be used. Then
- the file name is obtained from the command line that was typed when
- EP was called up. The number specifies which of the list of names that
- were given to use. E.g. after
- A>ep sample chapter-one chapter-two chapter-three\br
- if the file `sample' has the command \f9{\\imbed $2}, this would
- cause the file CHAPTWO to be imbedded.
- The combination of a drive prefix with a command-line argument
- is allowed -- e.g. ``b:$1''.
- \in 0
-
- \f9 disk n
-
- \f8\in 1"
- Controls what drive font files and embedded text files are looked for
- on, in case no drive prefix is given.
- Use 0 for the default drive, 1 for drive A, 2 for B, etc.
- \in 0
-
- \f9 user n
-
- \f8\in 1"
- Controls what user area font files and embedded text files are looked for in.
- Use 0 for the default user area, 1 for user area 1, etc. (up to 31).
- There is no provision for accessing user 0 if this is not the default.
- When file names have drive prefixes, the default user area is always assumed.
- \in 0
-
- \f9 beginning-page n\break
- \f9 ending-page n
-
- \f8\in 1"
- Disables printing when the current \f9{page-number} is before
- the \f9{beginning-page\} or after the {ending-page,} unless the latter
- is 0, which is taken to mean ``print all the way to the end.''
- The page number is checked before printing each line to see if it is
- still in range, so any ranges of lines can be selectively printed
- by strategically re-assigning values with these commands.
- \in 0
-
- \f9 error n line
-
- \f8\in 1"
- Causes fatal error (as if you didn't make enough mistakes already).
- \f9{line} (which is not interpreted) is the message reported by EPERROR.
- \in 0
-
- \f9 save n *
-
- \f8\in 1"
- Causes the numeric values of
- of system variables to be saved in a disk file named EP.IN<digit>
- on the default drive and user area, where
- <digit> is the argument \f9 {n}, which must be from 1 to 9.
- The values can be restored later with the \f9 {restore} command below.
- If the regular initialization file is disposed of, the saved disk
- file can be renamed EP.INI, so that it will be read automatically
- whenever EP is executed. In this way the default values for the
- initial print mode,
- \f9 {mx\}, {adjust}, {line-length}, etc. can be changed.
- \in 0
-
- \f9 restore n *
-
- \f8\in 1"
- Causes the numeric values of
- of system variables to be reset, taking the values from the
- data in a disk file named EP.IN<digit>
- on the default drive and user area, where
- <digit> is the argument \f9 {n}, which must be from 1 to 9.
- \in 0
-
- \f9 new-fonts *
-
- \f8\in 1"
- Causes all font names, font data, and font attachments to be
- forgotten. This is intended for situations in which the limitation
- to only 7 letter fonts in one line or paragraph becomes troublesome.
- The limitation is still there, but this command frees up all font
- numbers for re-use, so that the fonts to be combined can be freely chosen.
- \in 0
-
- \f9 mx b
-
- \f8\in 1"
- Use MX-80 compatible letter and print mode commands.
- Causes very small loss in character resolution.
- \in 0
-
- \f9 fast b
-
- \f8\in 1"
- Use draft mode, with one pass of the print head for each 8 point
- high line. For the FX-80, employs high speed double-density graphics.
- \in 0
-
- \f9 high-resolution b
-
- \f8\in 1"
- Use high resolution mode, with six passes of the
- print head for each 8 point high line (normal is three passes).
- Available for the FX-80 only.
- The improvement in resolution ranges from indiscernable to small.
- \in 0
-
- \f9 quiet-console b
-
- \f8\in 1"
- Suppresses the echoing to the terminal of the text that is being
- formatted and printed.
- \in 0
-
- \f9 put-terminal b line
-
- \f8\in 1"
- The \f9{line} is evaluated and displayed at the terminal (regardless
- of the value of \f9{quiet-console}), but is not printed.
- A CR-LF is also sent after displaying the line.
- However, if the line contains a `\f9{\\pt 0}' command, then only the
- part of the line before this is sent, there is no CR-LF, and the
- remainder of the line is processed normally.
- \in 0
-
- \f9 get-terminal
-
- \f8\in 1"
- A line is obtained from the console and appended to the end of
- the current input line, with a blank separating the two.
- This command can be used to fill the value of a string variable.
- Consider this sequence of commands:
- \\put-term What cheer? \\put-term 0
- \\get-term\\c$
- \br
- Suppose the user types in: ``rah, rah, rah!!'' (without the quotes).
- Then the value of \f9{c$} will be `rah, rah, rah!!' -- the added blank
- mentioned above is not part of the string, because all blanks following
- EP commands are scanned over and discarded.
- (Had the blank not been added, EP would think the first `rah' was part
- of the name of the string variable, ``c$rah''.)
- Note that `\f9{\\c$\\get-term\}' would place the {\\get-term} in \
- the string {c$,} and no console input would be sought until
- the string was evaluated. And at that time the line from the console would
- be appended to the then current input line, not the string.
- \in 0
-
- \f9 pause
-
- \f8\in 1"
- Causes EP to wait for a character to be typed at the console.
- One use of this is to put it at the beginning of a \f9{$heading}
- line, to give time to insert another sheet of paper.
- \in 0
-
- \f9 escape-character c
-
- \f8\in 1"
- Replaces `\\' or whatever the current escape character is, with
- a new character, which will subsequently be taken to introduce
- embedded EP commands. If no character follows on the input line,
- the facility to recognize embedded commands is disabled for the
- rest of the file being processed.
- \in 0
-
- \f9 dot-character c
-
- \f8\in 1"
- Replaces the character which is regarded as equivalent to the
- escape character when occurring at the beginning of an input line.
- If no character follows, no character will be so regarded.
- (The default is `.'.)
- \in 0
-
- \f9 *
-
- \f8\in 1"
- Causes the remainder of the input line to be ignored. This is
- intended for comments. It is also used at the end of heading and
- footing line definitions to end the processing of headings and
- footings at a page break.
- If this command is placed in other defined strings, not only will
- the remainder of the string be ignored, but also the remainder
- of the current line from the input text file.
- Comment lines cannot be continued by terminating them with a `\\'.
- \in 0
-
- \f9 com-mentchar c
-
- \f8\in 1"
- Replaces the character which is equivalent to the above \f9{*}
- command when this character occurs at the beginning of an input line.
- The default is ^F, which is the character which introduces embedded
- format strings under Phoenix Software's text editor `Pmate'.
- If no character follows, no character will be so regarded.
- \in 0
-
-
- \f8
- \tall{Multiple Columns}
-
- The multiple column facility is probably not usable for running
- text without the use of the preprocessing program EPMC. It may be of
- direct use for some simple charts.
- After setting the \f9 {gutter} width between columns, multiple
- column printing begins when the \f9 {numberof-columns} is set to
- some value greater than 1 and ends when it is set to a value less
- than 2. In multiple column mode, output lines are distributed among
- the columns as text is processed moving downward in the file.
- Concatenation is not done in this mode, so an `output line' here
- is the same as an input line with some printable text on it (i.e.
- not consisting entirely of commands).
- The first output line will go in the first column, the next in the
- second, and so on until each column has a line, then the next line
- will be the second line of the first column, etc. Thus what reads
- downward in the text file will read across the columns. (The
- preprocessor EPMC allows concatenation and changes things so
- that text will read down the columns.)
- The sense of some commands is reoriented toward the output column.
- This inludes the Line Format commands
- \f9 {justify, center, right-adjust, co-lumn,} indentation commands,
- and all Print Mode commands.
- For instance,
- the \f9 {center} command will center text within an output column,
- and the \f9 {italic} command will italicize text only within
- one output column (unless it is issued before initiating multiple
- column mode). Text blocks, also, run down the columns, and must
- be entirely contained within a single column.
- Aside from these special considerations,
- it's all very strightforward.
- (For a somewhat more lucid account, see EPUSE.DOC).
-
- \f9 gutter h *
-
- \f8\in 1"
- Sets the space to be left between columns.
- \in 0
-
- \f9 numberof-columns n *
-
- \f8\in 1"
- Sets the number of columns. The width of each column will be
- the \f9 {line-length\} plus the {gutter} width, divided by
- the number of columns requested, minus the \f9 {gutter}.
- The maximum allowable number of columns is 9.
- \in 0
-
- \f9 current-column n *
-
- \f8\in 1"
- This is the number of the column into which the output line
- currently being processed will be placed. The value should probably
- not be changed, but it might be useful to refer to (see Variables
- below).
- The value is 0 when multiple column printing is not in effect.
- \in 0
-
- \f8
- \tall{Variables}
-
- EP has string variables, and numeric variables. If one of the
- two defining letters of the command is a `$', it's a string, otherwise
- it's a numeric variable. A string variable is assigned a value by
- giving the corresponding command followed on the same line by the
- desired string value. E.g.
- \\g$ gophers and weasels
- \br assigns `gophers and weasels' to the string variable `g$'.
- The string can be incorporated into the text and printed with the
- `=' command, described below (in this case `\\=g$' would be replaced
- by the string value). Additionally, for string variables whose
- second defining character is a `$' there is a short form reference
- consisting of the escape character, and the first defining letter in
- lower case. E.g. after the above example,
- I watch \\g \\blank on holidays.\br
- would print `I watch gophers and weasels on holidays.'
- In fact, there's an even shorter form available when the first defining
- character is any of the letters `a' through `y', other than `i',`j',
- or `m'. Then you can just use the corresponding control character; but
- in this case no following characters are skipped over. E.g.
- I watch ^G on holidays.\br
- where the `^G' is the control character 07H.
- Strings are not evaluated when they are stored, but evaluated,
- formatted, and printed each time they are referred to. They may
- contain EP commands, including references to other strings (or
- themselves). 40 levels of nesting of string references are permitted.
- Of the 53 possible distinct string variables, all are free for
- use except for 4, which have special predefined meanings. Three of
- these, \f9{$heading, $footing,\} and {$kernpairs}
- were described above.
- The fourth is `$$'. When `\\=$$' (or `\\$' for short) occurs in a string,
- this refers to the remainder of the line (or string) which occurs after
- the string reference.
- This is intended to allow a restricted form of argument passing to macros.
- The argument to a macro must not itself contain string references or comments.
- E.g. the following defines and uses a macro that causes a paragraph
- break and centers and emphasizes a line:
- \\$section\\pp\\emphasize{\\=$$}
- ...
- \\=$section Section One.
- \break
- There may be several argument references in a macro, just so long as
- the argument string comes from the input text file (not another macro).
- In this event, each successive reference is replaced by the next input
- line from the file. However a string argument to a macro need not
- necessarily extend all the way to the end of the input line --
- it can be terminated early by the currently defined \f9{tab-character}.
- This latter option for terminating an argument is convenient for passing
- multiple arguments to a macro, since now multiple argument references
- in the macro can refer to the parts of the input line between tab
- characters. Here is an example of a macro which places its 4 arguments
- into columns, emphasizing text in the first column and italicizing that
- in the last:
- \\tab-char :
- \\k$ \\br\\cl 10\\emph{\\$}\\cl 20\\$\\cl 30\\$\\cl 40\\ital{\\$}\\br
- ...
- \\k Bees:page 10:fig. 2:contortions of
- \\k Roses:page 223:table 5:immersions
-
-
- As is the case generally, a ``line'' may be extended to several input
- lines by ending all but the last with a `\\', so there is no limit other
- than available memory to the length of strings or to the arguments
- that can be passed using the above convention. However, the space used
- to store a string is never reclaimed, and strings compete with fonts
- for memory space.
-
- In place of a numerical argument for any EP commands,
- there may appear an `\f9 {=}' followed by an expression.
- A simple term of an expression is either a number (or fraction),
- a numeric variable, or a string variable.
- A numeric variable is an EP command-word whose
- value will be that of the system variable associated with this
- command. Every combination of two alphabetic letters defines a
- system variable, and any that happen not to be used by EP are
- free to have values stored in them and later referred to, or printed
- using the \f9{=} command described below, as may be convenient.
- String variables in expressions are generally not meaningful
- and should be avoided. However, there are 3 contexts
- in which a string variable in an expression has an interpretation:
- (1) When a string variable follows the `=', this creates a new string
- variable whose value can be accessed without the following `='
- command. E.g.
- \\$section\\pp\\emphasize{\\=$$}
- ...
- \\xs = $section
- ...
- \\xs Section One.
- Thus new commands can be created which have the appearance of predefined
- ones.
- Once set, the value of such string variables cannot be changed.
- (In general, attempts to redefine the predefined commands will
- not work well, but it is not illegal to try.)
- (2) \f9{\\if} followed by a string variable means ``if this string
- has been defined''.
- (3) A parenthesized expression involving a string variable refers
- to the numeric value of a character at the address which is the value
- of the expression. The value of the string variable itself is the
- address of the beginning of the string. So if \f9{a$} is defined
- as the string `ABCD', the value of \f9{(a$+1)} is 66.
- Furthermore, such a parenthesized expression is a valid EP command which
- requests that the character with this ascii number be printed.
- In this example, \f9{\\(a$+1)} prints a `B'.
-
-
- \f9 = command-word
-
- \f8\in 1"
- If the command word is numeric, this prints the numerical value
- of the variable associated with the
- command. For instance, \f9 {\\=adjust} now prints \=adjust _as
- the current value of \f9 {adjust}.
- Notice that the value is in terms of dots.
- When the command word is a string variable, the string value is
- printed, after being evaluated and formatted.
- Strings in the command line can be referred to as `\\=$' followed by
- a number from 0 to 29, where 0 gives the name of the file being
- formatted.
- In this latter usage, the `=' is optional.
- E.g., after
- A>ep sample red "black and blue"\br
- for the reference `\\=$1' RED would be substituted, and for `\\$2'
- BLACK AND BLUE would be substituted.
- As the above illustrates, if such a command line string is to contain
- spaces, it must be enclosed in quotes, and the CPM CCP shifts letters in
- the command line to upper case.
- When there was no such string listed in the command line, the command
- is ignored.
- \in 0
-
- \f9 Roman-numeral b
-
- \f8\in 1"
- This command causes the next number printed with the `=' command
- described above to be printed in lower-case Roman numerals.
- Repeated 'm's are used for all multiples of 1000 (instead of vincula
- over other letters, which would have been nicer).
- \in 0
-
- \f9 argcount
-
- \f8\in 1"
- This variable holds the number of arguments that were listed
- on the command line after ``ep''.
- \in 0
-
- \f9 horizontal-position\br
- \f9 vertical-position
-
- \f8\in 1"
- In expressions, the values of these variables are the current
- horizontal and vertical positions of the printhead.
- Placing a value in these variables has no effect.
- The value of \f9{horizontal-position} does not take into
- account the effects of right justification.
- The \f9{vertical-position} is reckoned to be at the top of the
- current character line.
- Before the very first character is printed, the vertical position is
- unitialized, which is signified by giving it a nominal value of
- 65536.
- The vertical position will have an invalid value below the bottom margin
- in a situation where the next character will be printed on the following page.
- \in 0
-
-
- \f8
- \tall{Special Characters}
-
- Letter fonts may contain definitions of the shapes of up to 126
- characters, including all the control characters except for NUL
- (also missing is DEL).
- In order to avoid control characters in the text file
- there are three ways of referring to control characters with EP
- commands. First, `\\^' followed by a character gives the corresponding
- control character.
- Second, names are provided which are appropriate to the
- character shapes in some of the supplied letter fonts.
- Where appropriate, an automatic backspace is supplied before a named
- control character.
- There is a list given below.
- E.g. the following all give an \f9{a} with a circumflex
- accent over it (if the font has the right character shapes defined):
- a\\circumflex
- a\\ci
- a\\<\\^d
- Third, any character, including the case of control characters,
- can be printed by \f9{\\(\}expression{)},
- where the value of the expression is the
- ascii number of the character that will be printed.
- E.g.
- a\\bs\\(4)
-
- `\\32' or `\\blank' gives a space character.
- Also, the current escape character can be printed by doubling it.
- Assuming it is a `\\', i.e., place `\\\\' in the text to print it.
-
- \co 0\ju 0\in
- Ascii Command Special character
-
- ^A tic \tic a
- ^B (bs)grave a\grave
- ^C (bs)acute a\acute
- ^D (bs)circumflex a\circumflex
- ^E (bs)hachek a\hachek
- ^F (bs)macron a\macron
- ^G (bs)umlaut a\umlaut
- ^H (bs)voice-less
- ^I (bs)under-dot a\under-dot
- ^J bullet \bullet
- ^K dagger \dagger
- ^L double-dagger \double-dagger
- ^M section \section
- ^N quad a\quad a
- ^O mdash a\mdash a
- ^P ndash a\ndash a
- ^Q di-graph \*di-graph
- ^R digraph-o \*digraph-o
- ^S (bs)bre-ve a\bre-ve
- ^T (bs)syllabic
- ^U (bs)non-syllabic
- ^V (bs)ce-dilla
- ^W (bs)under-tie
- ^X (bs)over-tie
- ^Y (bs)over-dot
- ^Z (bs)nasal
- \*^[
- \*^|
- \*^] are not yet used
- \co\ju
- \in 0
-
- \f8
- \tall{Epson Control}
-
- Control over printing and formatting facilities of the Epson
- can be exerted indirectly by means of the EP commands listed in the
- above sections. If you'd like to talk to the Epson more directly,
- two means are provided.
- First, some escape sequences are allowed as synonyms of EP commands
- -- see the list below.
- Second, when the escape character is followed by something not
- recognized as an EP command, it is assumed that an Epson escape
- sequence is intended, so the ESC character is sent followed by any
- non-blank numbers or letters remaining on the input line.
- E.g., this would set the form length to 30 on the FX:
- \\C 30\br
- and this would set vertical tabs at 35, 45, 55:
- \\B 35 45 55 0\br
- Where there is interference with an EP command, the ASCII number of a
- character can be used after the `\\.'
- EP itself remains ignorant of the effects of any commands that are
- issued in this second way, so that, e.g., using vertical tabs would
- cause EP to lose track of its position on the page and put page numbers
- in inappropriate places.
- For all these Epson commands, upper vs. lower case matters (whereas
- for the regular EP commands, with the exception of \f9{f0-f9} and
- short string references, it does not).
-
- \co0\ju0\in4\required-blank #
- M (same as \\elite 1)
- P (same as \\elite 0)
- 15 (same as \\com-pressed 1)
- 18 (same as \\com-pressed 0)
- E (same as \\emphasized 1)
- F (same as \\emphasized 0)
- G (same as \\double-strike 1)
- H (same as \\double-strike 0)
- W1 (same as \\expanded 1)
- W0 (same as \\expanded 0)
- p1 (same as \\proportional 1)
- p0 (same as \\proportional 0)
- 4 (same as \\italic 1)
- 5 (same as \\italic 0)
- S1 (same as \\su-perscript 1)
- T (same as \\su-perscript 0 or \\su-bscript 0)
- S0 (same as \\su-bscript 1)
- \*-1 (same as \\under-line 1) deleted
- \*-0 (same as \\under-line 0) deleted
- _1 (same as \\under-line 1)
- _0 (same as \\under-line 0)
-