Veröffentlicht: · Aktualisiert:
| # | Schrift | Typ | H × B (Punkte) | H × B (mm) | Drehung | Text |
|---|
Die integrierten Schriften von Zebra (^A0,
^AD…) genügen für die meisten Etiketten. Brauchen Sie aber Ihre
Hausschrift oder Zeichen außerhalb der eingebauten Sätze, müssen Sie die
Schrift selbst liefern. ZPL kennt dafür zwei Befehle: ~DU
lädt eine Schrift, ^A@ ruft sie auf.
Wandelt man eine TrueType-Schrift in ZPL um, entsteht eine einzige riesige Zeile:
~DUR:MARKE.TTF,48213,00010000000A0080...
Drei Teile: Laufwerk und Name des Ziels
(R:MARKE.TTF), die Byteanzahl und die gesamte
Schrift als Hex. Der Befehl ist die Schrift — eine
50 KB große Schrift belegt in ZPL rund 100 KB, weil jedes Byte als zwei
Zeichen geschrieben wird.
Liegt die Schrift bereit, sieht der Feldbefehl so aus:
^XA
~DUR:MARKE.TTF,48213,0001...
^FO50,50^A@N,60,60,R:MARKE.TTF^FDHallo^FS
^XZDieses Etikett im ZPL-Viewer öffnen →
^A@ erwartet Ausrichtung (N/R/
I/B), Höhe, Breite und den Schriftpfad. Ohne Pfad
wird die zuletzt gewählte Schrift verwendet. Geben Sie einen Pfad an, dessen
Schrift nie geladen wurde, wird der Text nicht gezeichnet — stattdessen
erscheint eine Warnung. Ein stillschweigend leeres Feld fällt meist erst auf,
wenn das Etikett schon in der Hand liegt.
Das Beispiel oben funktioniert, skaliert aber nicht. ~DU reist
im Etikett mit; eine Schrift in fünfzig Vorlagen bedeutet, denselben
100-KB-Hexblock fünfzigmal zu senden. Bei jedem Druck. Über das Netz, durch die
Warteschlange und durch den Parser des Druckers.
An einem echten Zebra-Drucker arbeitet so niemand: Die Schrift wird
einmal in den Speicher R: geladen, die Etiketten
rufen sie nur mit ^A@ auf. Aus 100 KB werden 40 Byte.
Die Entsprechung bei Labelixa ist der Schriftspeicher auf
Kontoebene: Sie laden die Schrift einmal zu
/v1/fonts/library, danach enthalten Ihre Etiketten nur noch
^A@. Beim Rendern werden die Schriften Ihres Kontos dem Datenstrom
vorangestellt — Ihre Etiketten werden also so geschrieben, als gäbe es echten
Druckerspeicher.
# einmalig: Schrift ins Konto laden
curl -X POST https://api.labelixa.com/v1/fonts/library -H "X-API-Key: $KEY" -H "X-Font-Name: MARKE.TTF" -F file=@Marke-Bold.ttf
# ab jetzt besteht jedes Etikett nur aus dem Aufruf
^XA
^FO50,50^A@N,60,60,R:MARKE.TTF^FDHallo^FS
^XZ
Trägt ein Etikett weiterhin ein eigenes ~DU, gewinnt dieses:
Die Schrift im Datenstrom überschreibt die gespeicherte. Das ist Absicht — ein
echter Drucker verhält sich genauso, und es bleibt Ihnen ein Ausweg, wenn eine
Vorlage unabhängig vom Kontozustand sein muss.
Eine Schrift enthält Tausende Glyphen; Ihr Etikett braucht vielleicht
fünfzig. Beide Endpunkte akzeptieren den Parameter chars und
behalten nur die aufgeführten Zeichen. Bei festem Text schrumpft die Datei so
oft auf ein Zehntel.
curl -X POST "https://api.labelixa.com/v1/fonts?chars=ABCDEFGHIÄÖÜ0123456789" -H "X-API-Key: $KEY" -F file=@Marke-Bold.ttf
chars höchstens 2000
Zeichen.A-Z 0-9 . _ -, bis
32 Zeichen; sie werden in Großbuchstaben gewandelt, ohne Endung wird
.TTF ergänzt. Das Laufwerk ist ein Buchstabe mit Doppelpunkt
(R:).Gehen die Etiketten nicht über ein Konto, sondern an einen echten Zebra, ist der "einmal laden"-Weg der Speicher des Druckers. Drei Details entscheiden, ob das beim ersten Versuch klappt.
~DY oder ~DU.
~DU ist der ältere Download nur für TrueType, in ASCII-Hex.
Zebras aktueller Universal-Download ist ~DY; er trägt auch
Grafiken und kann die Daten binär senden — halbe Größe auf der Leitung.
ZebraDesigner und Zebra Setup Utilities erzeugen ~DY; die
meisten Online-Konverter ~DU. Beide landen als dieselbe Datei
im Druckerspeicher, und ^A@ ruft beide auf.
~DYE:MARKE.TTF,B,T,48213,,<Binärdaten>
^XA^HWE:*.*^XZ ; Laufwerk E: auflisten — ist MARKE.TTF da?
E: oder R:. E: ist Flash und überlebt das
Ausschalten; R: ist DRAM und wird beim Ausschalten geleert.
Eine morgens nach R: gesendete Schrift ist nach dem ersten
Neustart weg — der häufigste Grund, warum ein funktionierendes Etikett eine
Woche später in der Standardschrift erscheint. Dauerhafte Schriften gehören
auf E:; die ^HW-Verzeichnisliste oben zeigt, was
wirklich gespeichert ist.
^CW: der Schrift einen Buchstaben geben. ^CW
bindet eine gespeicherte Schrift an eine einstellige Kennung, sodass eine
Vorlage, die mit den eingebauten ^A-Buchstaben
geschrieben wurde, die Schriftart wechselt, ohne jedes Feld anzufassen:
^XA
^CWQ,E:MARKE.TTF
^FO50,50^AQN,60,60^FDHallo^FS
^XZDieses Etikett im ZPL-Viewer öffnen →
Die Kennung muss ein einzelner Buchstabe A–Z oder eine Ziffer
0–9 sein; eine zweistellige oder kleingeschriebene Kennung wird
stillschweigend ignoriert, und das Feld fällt auf die Standardschrift zurück —
die im Leitfaden Sonderzeichen
beschriebene Diskrepanz. Welchen Weg Sie auch nehmen: Kombinieren Sie die
Schrift mit ^CI28, wenn der Text UTF-8 ist;
sonst sind die Glyphen vorhanden, aber die Bytes werden als Ein-Byte-Codepage
gelesen. Der Schriftinspektor
liest eine TTF und zeigt, welche Zeichen sie wirklich enthält, bevor Sie sie
irgendwohin senden.
Einbetten, wenn das Etikett allein unterwegs ist — als Datei archiviert, an Dritte weitergegeben oder an einen Drucker gesendet, der nie über Ihr Konto läuft. Hochladen, wenn dieselbe Schrift in mehreren Vorlagen und regelmäßig gedruckt wird; dort wiederholt sich der Gewinn bei jedem Druck.
Zwei Wege: die Schrift mit ~DU in jeden Auftrag einbetten oder sie einmal in den Druckerspeicher laden und mit ^A@ referenzieren. Einmal-Laden gewinnt, wenn viele Vorlagen dieselbe Schrift teilen.
Sie lag im DRAM (R:), das beim Ausschalten gelöscht wird. Schriften in den Flash (E:) legen, damit sie Neustarts überstehen.
Subsetting: Glyphen entfernen, die nie gedruckt werden. Etikettenschriften brauchen selten mehr als ein paar Dutzend Zeichen; Subsetting verkleinert die Datei drastisch.
^CW bindet eine im Druckerspeicher liegende Schrift an eine einstellige Kennung (^CWQ,E:MARKE.TTF); mit ^AQ geschriebene Felder nutzen diese Schrift. Die Kennung muss ein einzelner Buchstabe A-Z oder eine Ziffer 0-9 sein; alles andere wird ignoriert, und die Standardschrift druckt.
Ein Etikettenformat kann den Drucker auf Thermotransfer umstellen — mit Absicht. Warum es ^MT gibt und was das Abschalten die Flotte kostet.
Text in ZPL zentrierenZPL hat keinen Zentrier-Befehl für einfachen Text. Nutzen Sie einen ^FB-Block mit C-Ausrichtung oder messen Sie die Textbreite und berechnen x selbst.
PDF oder ZPL: den Etiketten-Weg wählenZwei Wege für dasselbe Etikett: gerendertes PDF über einen Treiber oder natives ZPL. Was jeder bei Tempo, Treue und Betrieb kostet.
ZPL-Punkte, Millimeter und ZollJede ZPL-Koordinate ist ein Punkt. Umrechnungstabellen für 152/203/300/600 dpi, Etikettengrößen in Punkten und was beim Wechsel von 203 auf 300 dpi passiert.