Note:

The entire range of ASCII decimal codes (from 0 to 127) can be used for user-defined characters, but a caution is in order. Characters with ASCII decimal values below 32 are usually reserved as control codes by both your computer and your printer. While these characters can be replaced by user-defined characters, it should be avoided because of the effect on the normal control codes.

To see how to specify nl and n2, let’s use an example. If, for instance, you wanted to redefine the characters A through Z, nl would be “A” (or ASCII decimal 65) and n2 would be “Z” (ASCII decimal 90). So the command <ESC> “&” <NUL> “AZ” (fol- lowed by the appropriate data) would replace the entire alphabet of capital letters.

In some instances, you may want to redefine a single character. In this case, nl and n2 would have the same value. Our example at the end of this section does just that; it defines only the “A” character which is replaced by a new letter A.

Following the specification of the range of characters to be defined in this command is the data that defines the characters. The data is in this form:

do, d1, d2, Dl, D2, . . . Dd1x3

The first three bytes are used to specify the width of the character and the space to be allowed on either side of it. The left margin (in dot columns) is specified by d0 and the right margin is specified by d2. The second byte (d1) specifies the number of columns of dots that are printed by the character. By varying the width of the character itself and the spaces around it, you can actually create proportional width characters that print at draft speed.

When defining draft quality characters, the number of printed columns (dl) cannot exceed 9, and the sum of d0 + dl + d2 cannot exceed 12.

The last part of the character definition is the actual data that defines the dot patterns for each character. Since it takes three bytes to specify the dots in one vertical column of dots, the SQ-2000 expects d1x3 bytes of data to follow d2.

56