^A0 selects Zebra's built-in scalable (outline) font and defines the character height and width in dots. It is the most commonly used font command in ZPL because it produces clean, readable text at any size without requiring a downloaded font.
The orientation parameter (o) controls text direction: N = normal (left to right), R = rotated 90° clockwise, I = inverted 180°, B = bottom-up (90° counter-clockwise). Rotation is per-field — different fields on the same label can use different orientations.
Height and width are independent, allowing you to stretch or compress the font horizontally. Setting h and w to the same value produces normal proportions. Setting w larger than h widens the text; setting w smaller creates a condensed style.
The minimum practical height for readable text is around 20 dots at 203 DPI. For barcodes with human-readable text, 20–30 dots is typical. For headers, 40–80 dots is common.
^A0 applies only to the next field. It does not persist to subsequent fields unless you use ^CF (Change Font) to set it as the default.
Syntax
^A0o,h,w
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| o | N | R | I | B | N | Orientation: N = normal, R = rotated 90°, I = inverted 180°, B = bottom-up 270°. |
| h | integer | optional | Character height in dots. |
| w | integer | optional | Character width in dots. |
Examples
Large header and smaller body text
Try in Viewer^XA ^FO50,30^A0N,55,55^FDShipping Label^FS ^FO50,100^A0N,28,28^FDDestination: Chicago^FS ^FO50,140^A0N,24,24^FDPriority: Next Day^FS ^XZ
Rotated text (90 degrees)
Try in Viewer^XA ^FO400,50^A0R,36,36^FDRotated Text^FS ^FO50,50^A0N,36,36^FDNormal Text^FS ^XZ
Common Mistakes
- !Confusing h (height) and w (width) — h is vertical size, w is horizontal size.
- !Setting h or w to 0 — results in no visible text; minimum useful value is around 10 dots.
- !Assuming ^A0 persists — it only applies to the next field. Use ^CF to set a label-wide default.