10/10/03

Proportionally spaced characters are subject to the same height constraints (that is, eight dots high and either ascending or descending). The width of proportionally spaced characters is specified by the value in n3.

n1 is the character code of the first character in the sequence to be defined.

n2 is the character code of the last character in the sequence to be defined.

It is assumed that you are defining a sequence of characters whose code numbers increment by one for each character as default. If this is not the case, you must split the characters you are defining into sets of characters with contiguous code numbers and use a separate command for each set.

Each character is defined as a series of bytes - each byte defining a column of dots. The columns are read from left to right in the order in which they occur in the definition. The most significant bit of each byte represents the top dot of the column, and the least significant bit represents the bottom dot. Simply set a bit to 1 to print a dot in that position on the grid, or to 0 to print white space.

The MSB (bit 8) of n3 specifies whether the defined character is an ascender or a descender. Set bit 8 to 0 when defining an ascender, and to 1 for a descender. Ascending characters occupy the top 8 rows of the grid while descending characters occupy rows 2 to 9 of the grid.

Bits 5 to 7 of n3 specify the number of columns left blank to the left of the defined character in proportional spacing mode. The number of columns to skip is the number held in bits 5 to 7 minus 1. Up to six columns can be skipped. Hence, if you set this number to 4 it is equivalent to setting the first three character definition data bytes to 0.

Bits 1 to 4 of n3 specify the width in columns of the defined character in proportional spacing mode. The width in columns is the number held in bits 1 to 4. Characters can be up to fifteen columns wide, including skipped blank columns.

Downloaded characters are selected using the Esc % 1 NUL command and then printed by sending the appropriate character codes.

Select standard / downloaded characters

Esc%nNUL (27)(37)n(00)

<1Bh><25h>n<00h>

Once you have defined and downloaded one or more customized characters using the Esc & command, you can choose between the normal characters contained in the printer ROM and the characters you have downloaded.

Set n to 0 to select the printer standard characters. In this mode you cannot print any of your own defined characters.

Set n to 1 to select your own downloaded characters for printing. Now you can print using your user- defined characters but you cannot print any of the printer standard characters unless you have previously downloaded them to RAM as well, using the Esc : Copy ROM to RAM command.

LPRINT CHR$(27); CHR$(37); CHR$(1); CHR$(0); 'Select downloaded characters

Copy ROM character to RAM

Esc:000 (27)(58)(00)(00)(00)

<1Bh><3Ah><30h><30h><30h>

In order to use your own customized characters in conjunction with the standard characters contained in the printer, you must first download the printer standard ROM characters to the printer RAM, then define and download your own customized characters, and finally select the downloaded characters for printing using the Esc % 1 NUL escape sequence. This has the effect of inserting your custom characters into the standard character set in place of the standard characters with the same character codes.

This command enables you to download the printer current character set to its RAM. The printer current character set consists of whichever combination of international character set and italic or graphic character table you have selected.

LPRINT CHR$(27); CHR$(58); CHR$(0); CHR$(0); CHR$(0); 'Copy printer’s characters to its RAM

CHAPTER 6 EPSON - 22

Page 274
Image 274
Homelite HL-1270N, HL-P2500 Select standard / downloaded characters, Esc% nNUL 2737n00, Copy ROM character to RAM, Esc000