Im folgenden wird auf die Implementierungsdetails einiger ZPL-Kommandos eingegangen. Es sind dies Fälle, in denen es möglicherweise zu einem abweichenden Druckbild kommen kann, sowie vor allem die Kommandos, deren Verhalten sich durch den Anpassungsbereich steuern lassen.
Das Laden von zusätzlichen Bitmap- oder TrueType-Schriften wird vom Emulator nicht unterstützt (Kommandos '^DB', '~DS', '~DT', '~DU' und '~DY'). Es stehen aber in einer Bibliothek eine ganze Reihe von alternativen Schriften zur Nutzung bereit. Diese Schriften haben in der Regel einen deutlich grösseren Zeichenumfang und untersützen damit viele Sprachen und Alphabete (auch Chinesisch). Insbesondere die Nutzung von Unicode (Kommando '^CI28') ist damit möglich. Details dazu finden sich im Kapitel Schriften und Unicode.
Mit diesem Kommando wird die Schrift CG Triumvirate Bold Condensed ausgewählt. Da PCL-Drucker normalerweise diese Schrift nicht anbieten, wird stattdessen vom Emulator eine sehr ähnliche Schrift in den Drucker geladen und genutzt. Ein Download der Schrift 'CG Triumvirate Bold Condensed' ist aus Lizenzgründen nicht möglich. Durch die Nutzung der alternativen Schrift gibt es Laufweitenunterschiede beim Druck von Text verglichen mit dem Druckbild des ZPL-Druckers.
Mit diesem Kommando wird die Schrift OCR-B ausgewählt. Da PCL-Drucker normalerweise diese Schrift nicht anbieten, wird vom Emulator eine eigene Schrift in den Drucker geladen. Abhängig von der eingestellten Auflösung des ZPL-Druckkopfs wird die Schrift mit 10.2 Zeichen pro Zoll (203.4 dpi) oder 11.7 Zeichen pro Zoll (304.8 dpi) ausgegeben.
Mit diesem Kommando wird die Schrift OCR-A ausgewählt. Da PCL-Drucker normalerweise diese Schrift nicht anbieten, wird vom Emulator eine eigene Schrift in den Drucker geladen. Abhängig von der eingestellten Auflösung des ZPL-Druckkopfs wird die Schrift mit 10.8 Zeichen pro Zoll (203.4 dpi) oder 10.2 Zeichen pro Zoll (304.8 dpi) ausgegeben.
Die Schriften 'I bis 'O', 'W' bis 'Z' sowie '1' bis '9' sind frei und sollten bevorzugt für die Nutzung mit dem CW-Kommando eingesetzt werden.
Die Schriften 'P' bis 'V' sind wie beim Originaldrucker standardmässig festen Grössen der Schrift '0' zugeordnet.
Mit diesem Kommando wird der Zeichensatz einer Schrift eingestellt. Als Parameter für dieses Kommando werden nur die Werte 0, 2, 4, 5, 6, 7, 9, 10, 12, 13, 27, 28, 31, 33, 34 und 35 unterstützt. Als Standardwert wird der im Anpassungsbereich mit dem sechsten Parameter vorgewählte Zeichensatz genutzt.
Es nur möglich, die Schriften der internen Bibliothek einer Schriftkennung zuzuweisen. Die im Emulator intern genutzten Schriften zur Simulation der Bitmap-Schriften 'A' - 'H' lassen sich nicht nutzen, weil es sich hier teils um druckeresidente Schriften handelt. Details dazu finden sich im Kapitel Schriften.
Mit diesem Kommando wird die Ausrichtung eines Textblockes bestimmt. Text kann nur linksbündig, rechtsbündig und zentriert ausgegeben werden. Die Funktion des Textumbruchs an Wortgrenzen wird unterstützt, aber der Randausgleich ist aktuell nicht unterstützt, weil das insbesondere bei der Nutzung der Proportionalschrift 'CG Triumvirate Bold Condensed' eine exakte Kenntnis der Buchstabenbreiten voraussetzt.
Da aus Gründen des Copyrights die originale Schrift nicht nutzbar ist, können Laufweiten und Umbruch geringfügig vom realen Druck abweichen.
Da für die Emulation der Real Time Clock die Uhr des Windows-Systems genutzt wird, kann es bei der Ausgabe von Tages- und Monatsnamen in bestimmten Sprachen zu Abweichungen kommen. Das gilt insbesondere, wenn der aktuelle Zeichensatz nicht ausreicht, Tages- und Monatsnamen mit länderspezifischen Sonderzeichen darzustellen. 1)
Mit diesem Kommando wird die Druckrichtung von Text vorgegeben. Die Druckrichtung 'R' (Reverse printing, right to left) wird aktuell nicht unterstützt.
Dieses Kommando leitet einen beschreibenden Kommentar ein und wird auch unterstützt. Allerdings gibt es eine besondere Form eines Kommentars, über den der Emulator gesteuert werden kann. Dies wird unter Spezieller Kommentar genauer erklärt.
Dieses Kommando überträgt Graphikdaten in unterschiedlichen Formaten. Es wird nur die Übertragung der Graphikdaten mit dem Kompressionstyp 'A' unterstützt (Uncompressed, run-length, B64, Z64).
Mit diesem Kommando werden die Einheiten für numerische Parameter wie etwa Positionen festgelegt. Das Kommando besitzt zwei optionale Parameter, mit denen eine Konvertierung der Basiseinheiten (Vergrösserung der DPI) genutzt werden kann. Diese beiden Parameter werden nicht unterstützt, weil keine der von ZPL angebotenen Formatkombinationen bei maximal 304 DPI Auflösung sinnvoll genutzt werden kann.
Dieses Kommando wird dazu genutzt, das Drucken von Text zu steuern. Die ZPL-Schriften sind in der Regel recht fett, was auf einem Thermo- oder Thermotransferdrucker keinen Einfluss auf die Betriebskosten hat, wohl aber auf einem Laser- oder Tintendrucker. Der Parameter des Kommandos wird so interpretiert, dass Werte im Bereich 0 bis 14 die Verwendung normaler Schriften, und Werte im Bereich 15 bis 30 die Verwendung von fetten Schriften aktiviert. Diese Einstellung kann auch generell für alle Etiketten im Anpassungsbereich mit dem Parameter 8 vorgenommen werden.
Die Sprachen für die Real Time Clock sind auf 1 bis 12 (Englisch bis Finnisch) und 18 bis 20 (Polnisch bis Rumämisch) eingeschränkt. Als Standardwert wird die im Anpassungsbereich mit dem neunten Parameter vorgewählte Sprache genutzt. Für nicht unterstützte Sprachen werden Tages- und Monatsnamen in Englisch ausgegeben.
Der Parameter Start Mode und die Accuracy sind im Rahmen der Emulation weitestgehend sinnlos, weil die Erzeugung der Etiketten in Sekundenbruchteilen erfolgt. In der Praxis erhalten alle Kopien eines Etiketts gleiche Zeitstempel.
Die eigentliche Druckgeschwindigkeit hat hier keinen Einfluss, weil das Ergebnis der Emulation erst später zum Drucker gelangt. Die Geschwindigkeit der Emulation auf die durch das Kommando 'PR' gewählte Geschwindigkeit zu drosseln, wurde verworfen, weil aktuell kein Einsatzszenario bekannt ist, für das der Aufwand einen Sinn ergäbe.
Für die Emulation der Real Time Clock wird die Uhr des Windows-Systems genutzt. Deshalb sind Offsets, die ein Datum vor dem 1.1.1970 erzeugen, generell unzulässig.
Für die Emulation der Real Time Clock wird die Uhr des Windows-Systems genutzt. Deshalb sind Datumsangaben, die ein Datum nach dem 31.12.2097 einstellen, hier zulässig. Wie beim orignalen Zebra-Drucker kann aber trotzdem kein Datum vor dem Jahr 1998 gesetzt werden. Die Einstellung der Uhrzeit erfolgt immer in lokaler Zeit, das heist hier konkret, dass das Windows-System die Entscheidung trifft, ob das Normalzeit oder Sommerzeit ist.