function draws graphic data.
format [esc] sg; aaaa, bbbb, cccc, dddd, e, fff --- fff [lf] [nul]
term aaaa: print origin of x-coordinate for drawing graphic data
fixed as 4 digits (in 0.1 mm units)
bbbb: print origin of y-coordinate for drawing graphic data
fixed as 4 digits (in 0.1 mm units)
cccc: no. of graphic width dots
fixed as 4 digits (in dots)
however, when the graphic data “2: bmp file” is selected, this designation is
ignored. (the information of the graphic width is contained in the graphic
data.)
dddd: no. of graphic height dots
fixed as 4 digits (in dots)
however, when the graphic data “2: bmp file” is selected, this designation is
ignored. (the information of the graphic height is contained in the graphic
data.)
· topix compression mode
resolution of graphic data: *only two types
0150: 150 dpi (the data is drawn in double resolution.)
0300: 300 dpi (the data is drawn in single resolution.)
e: type of graphic data
0: nibble mode (4 dots/byte) overwrite drawing
1: hex. mode (8 dots/byte) overwrite drawing
2: bmp file mode
3: topix compression mode
4: nibble mode (4 dots/byte) or drawing
5: hex. mode (8 dots/byte) or drawing
fff --- fff: graphic data
explanation (1) when the graphic data “0” or “1” is selected, the graphic data is drawn by overwriting the image buffer.
(2) when the graphic data “4” or “5” is selected, the graphic data is drawn by carrying out or between the graphic data and the data in the image buffer.

[nibble mode]
(1) the graphic data is separated into four dot units and sent in the following order (1 → 132). (high order digit: “3”)
(2) the graphic data is 30h to 3fh.
(3) the minimum unit in the x direction is 8 dots. dots with no data are transmitted as data 0.
(4) the graphic data count must be as follows:
graphic data count = {(no. of graphic width dots + 7)/8} × no. of graphic height dots × 2
* the value in the brackets is rounded down to the nearest whole number
[hex. mode]
(1) the graphic data is separated into eight dot units and sent in the following order (1 → 66).
(2) the data of graphic data is 00h to ffh.
(3) the minimum unit in the x direction is 8 dots. dots with no data are transmitted as data 0.
(4) the graphic data count must be as follows:
graphic data count = {(no. of graphic width dots + 7)/8} × no. of graphic height dots
* the value in the brackets is rounded down to the nearest whole number
[when topix compression mode is selected:]

(1) length: total number of bytes of the graphic data (0001h ~ )

(2) l1 parameter: shows in which large block (512 dots/block) the changed data is contained.

(3) l2 parameter: shows in which medium block (64 dots/block) the changed data is contained (of the l1 large block).

(4) l3 parameter: shows in which small block (8 dots/block) the changed data is contained (of the l2 medium block).

* the graphic width for only the smaller value of either the designated value or the max. buffer size (512 kb) is drawn. the minimum unit of the data drawing is 8 dots (1 byte). if the graphic width is set to 3 dots, it will be reset to 8 dots (1 byte).
examples

(1) the print origin of coordinates must be set so that result of drawing the graphic data will be within the effective print area set by the label size set command ([esc] d).
(2) the number of graphic width dots and number of graphic height dots must also be set so that the result of drawing the graphic data will be within the effective print area set by the label size set command ([esc] d) in the same manner as above.
(3) both width and height are 12 dots/mm.
(4) the actual result of drawing may deviate within ±0.33 mm in the x direction with respect to the designated print origin of x-coordinate.
to draw the received graphic data at high speed, the data is directly developed into the image buffer without applying correction to each bit with respect to the designated x-coordinate. consequently, an error of up to 4 bits occurs.
(5) the graphic data overwrites the image buffer.

examples

10 print #1, esc$; ”c”; lf$; nul$;
20 print #1, esc$; ”sg; 0100, 0240, 0019, 0022, 1”;
30 print #1, chr$ (&h00); chr$ (&h30); chr$ (&h00);
40 print #1, chr$ (&h00); chr$ (&h38); chr$ (&h00);
50 print #1, chr$ (&h00); chr$ (&h3c); chr$ (&h00);
60 print #1, chr$ (&h00); chr$ (&h3e); chr$ (&h00);
70 print #1, chr$ (&h00); chr$ (&h37); chr$ (&h00);
80 print #1, chr$ (&h00); chr$ (&h33); chr$ (&h80);
90 print #1, chr$ (&h00); chr$ (&h31); chr$ (&hc0);
100 print #1, chr$ (&h00); chr$ (&h30); chr$ (&hc0);
110 print #1, chr$ (&h00); chr$ (&h30); chr$ (&he0);
120 print #1, chr$ (&h00); chr$ (&h30); chr$ (&h60);
130 print #1, chr$ (&h00); chr$ (&h30); chr$ (&he0);
140 print #1, chr$ (&h00); chr$ (&h30); chr$ (&hc0);
150 print #1, chr$ (&h00); chr$ (&h31); chr$ (&hc0);
160 print #1, chr$ (&h00); chr$ (&h33); chr$ (&h80);
170 print #1, chr$ (&h0f); chr$ (&h33); chr$ (&h00);
180 print #1, chr$ (&h3f); chr$ (&hf0); chr$ (&h00);
190 print #1, chr$ (&h7f); chr$ (&hf0); chr$ (&h00);
200 print #1, chr$ (&hff); chr$ (&hf0); chr$ (&h00);
210 print #1, chr$ (&hff); chr$ (&he0); chr$ (&h00);
220 print #1, chr$ (&hff); chr$ (&he0); chr$ (&h00);
230 print #1, chr$ (&h7f); chr$ (&hc0); chr$ (&h00);
240 print #1, chr$ (&h3f); chr$ (&h00); chr$ (&h00);
250 print #1, lf$; nul$;
260 print #1, esc$; ”xs; i, 0001, 0002c5000”; lf$; nul$;