function sets the format indicating on the label at which the bit map font is to be printed and how it is to be printed.
format ① [esc] pcaaa; bbbb, cccc, d, e, ff (, ghh), ii, j (, jkkll) (, mm) (, noooooooooo)
(, zpp) (, pq) (=rrr---rrr) [lf] [nul]
② [esc] pcaaa; bbbb, cccc, d, e, ff (, ghh), ii, j (, jkkll) (, mm) (, noooooooooo)
(, zpp) (, pq) (; ss↓1, ss↓2, ss↓3, ------, ss↓20) [lf] [nul]
term aaa: character string number
000 to 199 (two digits, 00 to 99, also acceptable)
bbbb: print origin of x-coordinate of character string
fixed as 4 digits (in 0.1 mm units)
cccc: print origin of y-coordinate of character string
fixed as 4 digits (in 0.1 mm units)
d: character horizontal magnification
1 to 9 (in magnifications)
* two digit designation enables magnifications in 0.5 units
(05 ~ 95: 0.5 to 9.5 magnifications).

e: character vertical magnification
1 to 9 (in magnifications)
* two digit designation enables magnifications in 0.5 units
(05 ~ 95: 0.5 to 9.5 magnifications).

ff: type of font
a: times roman (medium) 8 point
b: times roman (medium) 10 point
c: times roman (bold) 10 point
d: times roman (bold) 12 point
e: times roman (bold) 14 point
f: times roman (italic) 12 point
g: helvetica (medium) 6 point
h: helvetica (medium) 10 point
i: helvetica (medium) 12 point
j: helvetica (bold) 12 point
k: helvetica (bold) 14 point
l: helvetica (italic) 12 point
m: presentation (bold) 18 point
n: letter gothic (medium) 9.5 point
o: prestige elite (medium) 7 point
p: prestige elite (bold) 10 point
q: courier (medium) 10 point
r: courier (bold) 12 point
s: ocr-a 12 point
t: ocr-b 12 point
* the following fonts are proportional.
a, b, c, d, e, f, g, h, i, j, k, l

ghh: fine adjustment of character-to-character space (omissible)
g: designates whether to increase or decrease the character-to-character
space.
+: increase
-: decrease
hh: no. of space dots between characters
00 to 99 (in dots)

j: selection of a black character or reverse character
b: black character
w: reverse character
jkkll: bold character designation (omissible)
kk: no. of horizontal shift dots
00 to 16 (in dots)
ll: no. of vertical shift dots
00 to 16 (in dots)
mm: type of the check digit to be attached (omissible)
m: type of check digit
0: modulus 10 (draws data and check digit)
1: modulus 43 (draws data and check digit)
2: dbp modulus 10 (draws check digit only)
noooooooooo: increment and decrement (omissible)
n: designates whether to increment or decrement.
+: increment
-: decrement
oooooooooo: skip value
0000000000 to 9999999999
zpp: zero suppression (omissible)
pp:no. of zeros to be suppressed
00 to 20
pq: alignment (omissible)
q: designates the character position.
1: left
2: center
3: right
* if omitted, the alignment is set to left.
rrr------rrr: data string to be printed (omissible)
max. 255 digits
ss↓1ss, ss↓3, ------, ss↓20: link field no. (omissible)
01 to 99 (1 to 99 can be also used.)
up to 20 fields can be designated using commas.
explanation (1) character string number
when drawing by the data command ([esc] rc), the format designated by the
character string number is selected.
(2) print origin of coordinates

the print origin of coordinates must be set so that the result of character drawing will be within the effective print area set by the label size set command ([esc] d).

(3) horizontal magnification and vertical magnification

[relationship between drawing coordinates and magnification]

(4) type of font

(5) fine adjustment of character-to-character space
if no character-to-character space is specified or the number of space dots between characters is 0, drawing will take place according to the horizontal spacing/proportional spacing determined for each character. if character-to-character space is specified, drawing will take place according to the value obtained by adding the character spacing/proportional spacing to the specified value.

(6) rotational angles of a character and character string

(7) selection of a black character or reverse character

a reverse character is (6 × magnifications) dots wider and longer than a black character. in this case, the magnification is the horizontal magnification or vertical magnification whichever is larger.
(8) bold character designation

(9) check digit to be attached
when modulus 10 or modulus 43 is selected, the check digit of a data row is calculated and attached to the data row for drawing. when modulus 10 is designated and the data includes any data other than the numerals, the data row will not be drawn. when modulus 43 is designated and the data includes any character other than code39, no drawing will take place.
when dbp modulus 10 is selected, the check digit of a data row is calculated and only the check digit is drawn. when the data includes any data other than the numerals, drawing is not performed.
when the type of font is u, v, w or x, the check digit attach designation is not possible. (even if designation is performed, the printer operates assuming no designation has been performed.)
* dbp modulus 10 is modulus 10 for deutsche bundespost postdienst only.
(10) increment/decrement
printing is performed while the data is incremented or decremented each time a label is issued.
[the following applies to the b-372-qp (up to v2.3), b-572-qp/qq (up to v2.3) and b 872-qp/qq (up to v1.2).]
where the data row includes any data other than numerals, the data row will not be drawn. where the data row exceeds the maximum number of digits (40), the data row will not be drawn.
when the type of font is u, v, w or x, increment/decrement designation cannot be performed. (even if designation is performed, the printer operates assuming no designation has been performed.)

[the following applies to the b-372-qp (v2.4 or after), b-572-qp/qq (v2.4 or after), b-872-qp/qq (v1.3 or after) and b-672-qp/qq.]
letters and numerals for increment/decrement
for the data string, up to 40 digits (including letters, numerals and symbols) are possible.
example of increment/decrement calculation

(11) zero suppression

the leading zero(s) in a data row is replaced by a space(s) according to the designated number of digits. however, if the number of digits to be suppressed is greater than the data row, the data row will be drawn without zero suppression. where the data row exceeds the maximum number of digits (40), the data row will not be drawn.
when the type of font is u, v, w or x, zero suppress designation cannot be performed. (even if designation is performed, the printer operates assuming no designation has been performed.)
(12) alignment

(13) data string to be printed
drawing data can be programmed by designating the number of digits after the symbol “=.” up to 255 digits can be printed. however, when the type of font is u, v, w or x, up to 127 digits can be printed. when the number of digits exceeds the maximum value, exceeding data will be discarded.
for the character code table, refer to the character code table mentioned later.
(14) link field no.
the link field no. can be programmed by designating it after the symbol “;”. after the link field no. is designated using the format command, the data strings are linked by the link field data command to draw an image.
up to 20 fields can be linked.
the following shows an example of linked fields on the two continuous labels.

(1) the check digit attach, increment/decrement, and zero suppress processes are performed according to the following priority. if any of the conditions is improper, no drawing will take place.
for example, the zero(s) is replaced by a space(s) as a result of zero suppression but the modulus 10 designated to be attached cannot be calculated.
increment/decrement ] zero suppression ] attachment of check digit
(2) up to 32 fields for which incrementing/decrementing has been designated can be drawn. if a total of bit map font, outline font or bar code increment/decrement fields exceeds 32, drawing will take place without incrementing/decrementing any excessive field. the field to be incremented or decremented is incremented or decremented until the image buffer clear command ([esc] c) is transmitted.
[example]
1) format command (increment character string no. 001 (+1))
2) format command (no incrementing for character string no. 002)
3) format command (increment character string no. 003 (+2))
4) image buffer clear command
5) data command (character string no. 001 “0001”)
6) data command (character string no. 002 “ab-”)
7) data command (character string no. 003 “0100”)
8) issue command (2 labels)

9) issue command (1 label)

10) image buffer clear command
11) data command (character string no. 002 “00000”)
12) issue command (1 label)

(3) the bit map font format command may be connected to the outline font format command when transmitted.
[esc] p c001; 0100, 0150, 1, 1, a, 00, b [lf]
c002; 0350, 0180, 1, 1, a, 00, b [lf]
c005; 0200, 0300, 25, 2, c, +05, 00, b, +0000000001 [lf]
v01; 0500, 0400, 0100, 0100, a, 00, b [lf] [nul]
(4) when the drawing data is changed per label issue during printing, the field of the drawing data for the previous label is automatically cleared using the character string number, then the next drawing data is printed. therefore, the character string number which differs according to the drawing fields should be designated. since the automatic field clear is not performed between the clear command ([esc] c) and issue command ([esc] xs), the fixed data may be drawn using the same character string number. in this case, the format command and data command should be sent alternately. (after the issue command is sent, the fields with the same character string number are automatically cleared until the clear command is sent.)
(5) the link field designation is cleared by omitting the link field designation using the same character string no. and reformatting data.
the link field designation can be also cleared by the image buffer clear command.
(6) a print data string and link field no. cannot be programmed at the same time.
refer to bit map font data command ([esc] rc)
outline font format command ([esc] pv)
bar code format command ([esc] xb)
examples
(1)

10 print #1, esc$; ”c”; lf$; nul$;
20 print #1, esc$; ”pc000; 0200, 0300, 1, 1, a, 00, b=abcd”; lf$; nul$;
30 print #1, esc$; ”pc001; 0200, 0125, 1, 1, c, 00, b”; lf$; nul$;
40 print #1, esc$; ”pc002; 0650, 0550, 2, 2, g, 33, b, +0000000001”; lf$; nul$;
50 print #1, esc$; ”rc001; sample”; lf$; nul$;
60 print #1, esc$; ”rc002; 001”; lf$; nul$;
70 print #1, esc$; ”xs; i, 0002, 0002c5000”; lf$; nul$;
(2)

10 print #1, esc$; ”c”; lf$; nul$;
20 print #1, esc$; ”pc001; 0200, 0300, 1, 1, c, 00, b; 01, 02”; lf$; nul$;
30 print #1, esc$; ”pv01; 0650, 0550, 0200, 0150, b, 33, b; 02” ; lf$; nul$;
40 print #1, esc$; ”xb01; 0200, 0550, 3, 1, 03, 03, 08, 08, 03, 0, 0150; 01, 02”; lf$;
nul$;
50 print #1, esc$; ”rc; s”; lf$; ”001”; lf$; nul$;
60 print #1, esc$; ”xs; i, 0002, 0002c5000”; lf$; nul$;