User-defined Characters

Sending information to your printer

Once the character is plotted on the grid, you simply add the pin values for each column together, just as you do for graphic images. Then, you write a program that uses the following command to replace the standard ASCII characters stored in your printer with the characters you’ve designed.

The format of the command that redefines characters is relatively complex:

ESC&0n1 n2 a1 d1 . . . dn

The ESC & is simple enough. The 0 is not ASCII character 0 (decimal code 48, hex code 3O), but is the decimal code for the ASCII character NUL. (The sample program on the next page should make this distinction clear.) You can redefine up to six characters with the command. The values n1 and n2 are the decimal codes of the first and last ASCII characters you are replacing. (You can alternatively use the ASCII characters themselves in quotation marks.) If you are replacing only one character, n1 and n2 are the same. You can use any codes between 58 and 63 decimal for n1 and n2.

For example, if you wanted to redefine the characters : through ?,

n1 would be : (decimal code 58) and n2 would be ? (decimal code 63). So the command ESC & 0 :? (followed by the appropriate data) would replace the characters : through ?.

The value a1 specifies whether the top eight pins or the bottom eight pins of the print head are used. If you wish to print with the top eight pins, a1 should be 128. If, however, you wish to print with the bottom eight pins, a1 should be 0.

The last part of the command (d1...dn) is the actual data that defines the dot patterns for each column of each character. Since a character can use up to eleven columns, you must supply eleven data numbers for each character even if some columns are blank. If you redefine six characters, for example, you need to supply 66 data numbers.

Software and Graphics

4-23