Printek Emulation
Vertical Margins
Printing is allowed only within the top and bottom margins. Exceeding the bottom margin will set the current line to the top margin of the next form.
Set Top and Bottom Margins | ESC V n1 n2 |
Sets the top margin to line n1 and the bottom margin to line n2 at the current line spacing. 0≥n1≥255, 0≥n2≥255. If line spacing is changed after setting the margins, the position of the margins will not change. Vertical margins are cleared by ESC FF n.
The top and bottom margins are both inclusive. For example, a top margin at line 6 still allows text to be printed on line 6, but not on line 5. A bottom margin at line 59 still allows text to be printed on line 59, but not on line 60.
The first line is line zero. The top margin must be above the bottom margin. The bottom margin must be below the top margin. The margins cannot exceed the form length. Invalid margins will be ignored. Overrides the “Top Margin” and “Bottom Margin” values in the forms menu.
Example: The following escape sequence will set a top margin at line 6, and will set a bottom margin at line 59. For a standard 11 inch form with 6 lpi line spacing, this would result in one inch top and bottom margins.
Escape Sequence: | ESC | V | 6 | 59 |
Hexadecimal: | 1B | 56 | 06 | 3B |
Graphics
Graphics mode gives the user complete control over every dot position on the paper. Graphics may be printed with various horizontal densities from 60 to 240 dpi, and a vertical density of 72 dpi.
Each byte of graphics data represents a vertical column of eight dots, with the MSB (most significant bit) corresponding to the top wire of the print head. Turning a bit on causes a dot to be printed. The bit values corresponding to each wire of the print head are shown below:
wire 1 | 128 | (80 hex) |
wire 2 | 64 | (40 hex) |
wire 3 | 32 | (20 hex) |
wire 4 | 16 | (10 hex) |
wire 5 | 8 | (08 hex) |
wire 6 | 4 | (04 hex) |
wire 7 | 2 | (02 hex) |
wire 8 | 1 | (01 hex) |
The appropriate bit values are added together to fire the desired wires. For example, a byte of graphics data with the value 128 (80 hex) will fire the top wire, wire 1. A value of 192 (C0 hex) will fire the top two wires, wires 1 and 2. A value of 11 (0B hex) will fire wires 5, 7 and 8.
Each graphics sequence contains two bytes (n1 and n2) that specify how many bytes of graphics data follow. N2 can specify values up to 255. If that is sufficient, then n1 is just set to zero. For values greater than 255, n1 comes into play. The n1 byte specifies multiples of 256. For example, to specify 520 bytes of graphics data, use n2 = 8 and n1 = 2. The bytes of graphics data are strung together to create a graphics line that is eight dots high, and (n1 x 256) + n2 dots long. Be sure to provide the
102