There are two ways of creating super/subscript printouts on the ImageWriter
(this applies only to ImageWriters with a serial number above 216001; those
with lower serial numbers do not super/subscripting):
Method #1) The diskette called "ImageWriter Tool Kit (v1.5)" contains a
half-high character set designed for super/subscripting use. To use it,
download the character set to the printer prior to using Bank Street
Writer. (This download function is a function on the tool kit disk.)
Method #2) If full-size characters shifted half a line up or down are
satisfactory, then issue the following codes. The codes to do
super/subscripting are not stated as such. Super- and subscripting require
the printer to shift forward or reverse, print some characters, then shift
back. The reference card in the manual is also not clear what the proper
code is for this function.
To subscript:
1) Print some text.
2) Set a new line feed pitch.
3) Issue a forward line feed (for subscripting).
4) Print the character(s) to be subscripted.
5) Set reverse line feeding.
6) Issue a line feed.
7) Reset to original line feed pitch.
8) Continue printing.
To superscript:
1) Print some text.
2) Set a new line feed pitch.
3) Set reverse line feeding.
4) Issue a line feed (for superscripting).
5) Print the character.
6) Set forward line feeding.
7) Issue line feed.
8) Reset to original line feed pitch.
The ImageWriter's "optional line feed function" suppresses the Carriage
Return when issuing a Line Feed. (As you can see, none of this is very
simple).
A possible scenario for sending codes to do superscripting from BASIC
(running under ProDOS):
10 D$=CHR$(4):REM CONTROL D
20 A$=CHR$(27)+CHR$(108)+CHR$(49):REM ENABLE OPTIONAL LINE FEED FUNCTION
CODE
30 B$=CHR$(27)+CHR$(84)+"10":REM SET LINE PITCH TO LESS THAN HALF LINE
40 C$=CHR$(27)+CHR$(102):REM FORWARD LINE FEED CODE
50 E$=CHR$(27)+CHR$(114):REM REVERSE LINE FEED
55 F$=CHR$(27)+CHR$(84)+"24":REM SET LINE PITCH BACK TO FULL SIZE
60 PRINT D$;"PR#1":REM IF THIS SLOT IS WHERE THE PRINTER CARD IS LOCATED
70 PRINT "This text is normal";:REM NORMAL TEXT
80 PRINT A$;:REM ENABLE OPTIONAL LINE FEED FUNCTION
85 PRINT B$:REM SET LINE PITCH
90 PRINT CHR$(31)+"1";:REM FEED ONE BLANK LINE OF PAPER
95 PRINT CHR$(27)+CHR$(39);:REM SWITCH TO CUSTOM FONT
100 PRINT "THIS TEXT IS SUBSCRIPTED";:REM SUBSCRIPTED TEXT
110 PRINT E$;:REM SET REVERSE LINE FEED
120 PRINT CHR$(31)+"1";:REM FEED ONE BLANK LINE OF PAPER
125 PRINT F$;:REM SET REVERSE LINE FEED
135 PRINT CHR$(27)+CHR$(36);:REM SWITCH BACK TO NORMAL FONT
140 PRINT"This text should be normal again"
145 PRINT C$:REM RESET TO FORWARD LINE FEED
150 PRINT D$;"PR#0"
160 END
Here is an example of how to enter the codes into Bank Street Writer:
To Begin Subscripting
---------------------
Characters: ESC l 1 ESC T 1 2 (CONTROL)_ 1
ASCII Codes: 27 108 49 27 84 49 50 31 49
To End Subscripting
-------------------
Characters: ESC r (CONTROL)_ 1 ESC f ESC A ESC 1 0
ASCII Codes: 27 114 31 49 27 102 27 65 27 108 48
To Begin Superscripting
-----------------------
Characters: ESC l 1 ESC T 1 2 ESC r (CONTROL)_ 1
ASCII Codes: 27 108 49 27 84 49 50 27 114 31 49
To End Superscripting
---------------------
Characters: ESC f (CONTROL)_ 1 ESC A ESC l 0
ASCII Codes: 27 102 31 49 27 65 27 108 48
(NOTE: The second character in the command sequence that begins sub- or
superscripting, and the next-to-last character in the sequences that ends
sub- or superscripting, is a lowercase "L".
The last character in the sequences that ends sub- or superscripting is a
zero.