Anmelden
Produkte
ZPL-ViewerBarcode-GeneratorBild → ZPLZPL-SpickzettelEtiketten-DesignerVorlagen-Galerie
Entwickler
API-SchnellstartAPI-ReferenzMCP-ServerMassenerzeugungWebhooksSDKs & BeispieleLimitsDirectPrint-Agent NeuGitHub ActionVS-Code-ErweiterungOn-Premise
Lösungen
Logistik und VersandE-CommerceERP & WMSProduktionEinzelhandelGesundheitswesen und LaborAlle Lösungen
Tools
ZPL-DiagnosezentrumZPL-DebuggerGrößen- und DPI-AnalyseDPI-KonverterBarcode-PlatzrechnerVersandetiketten-AnalyseSchriftprüfungAusrichtungs-DebuggerKalibrierungsassistentDruckerkompatibilitätsprüfungBarcode-LesbarkeitsprüfungDruckersprachen-ErkennungThermodrucker-TestpaketZPL-ToolsEPL-ToolsTSPL-ToolsCPCL-ToolsDruckersprachen-KonverterAlle WerkzeugeRatgeberPreise
Sprache
EnglishTürkçeDeutsch
Startseite›Ratgeber›Eigene Schriften in ZPL verwenden

Eigene Schriften in ZPL verwenden

Veröffentlicht: · Aktualisiert:

Schriften

#SchriftTypH × B (Punkte)H × B (mm)DrehungText

Geladene Schriften in dieser Datei

    Hinweise und Befunde

      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.

      ~DU: der Befehl zum Schriftdownload

      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.

      ^A@: die geladene Schrift verwenden

      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
      ^XZ

      Dieses 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 eigentliche Problem: eine Schrift, fünfzig Vorlagen

      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.

      Virtueller Druckerspeicher

      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.

      Die Schrift verkleinern: Subsetting

      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

      Grenzen und ihre Gründe

      Die Schrift in den Drucker selbst laden: ~DY, ^CW und E: vs. 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
      ^XZ

      Dieses 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.

      Was wann

      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.

      Häufig gestellte Fragen

      Wie drucke ich meine eigene Schrift auf einem Zebra-Drucker?

      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.

      Warum war meine geladene Schrift nach dem Ausschalten weg?

      Sie lag im DRAM (R:), das beim Ausschalten gelöscht wird. Schriften in den Flash (E:) legen, damit sie Neustarts überstehen.

      Meine Schriftdatei ist zu groß — was kann ich tun?

      Subsetting: Glyphen entfernen, die nie gedruckt werden. Etikettenschriften brauchen selten mehr als ein paar Dutzend Zeichen; Subsetting verkleinert die Datei drastisch.

      Was macht ^CW in ZPL?

      ^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.

      Verwandte Ratgeber

      Warum darf ein Etikettenformat den Medientyp setzen?

      Ein Etikettenformat kann den Drucker auf Thermotransfer umstellen — mit Absicht. Warum es ^MT gibt und was das Abschalten die Flotte kostet.

      Text in ZPL zentrieren

      ZPL 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ählen

      Zwei 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 Zoll

      Jede 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.

      Eigenen ZPL-Code testen →