Beim Druck langer Fliesstexte ist zu beobachten, dass viele Etikettendesigns davor zurückschrecken, den gesamten Text innerhalb eines Kommandos auszugeben, sondern stattdessen irgendwo abbrechen, neu positionieren und dann weiterdrucken. Das ergibt bei der Emluation wegen der Laufweitendifferenzen meist sichtbare Lücken oder gar Überdruckungen.
Im Anpassungsbereich gibt es bei den Grundeinstellungen innerhalb der 'eb'-Ressource einen siebten Parameter, der steuert, ob vom Emulator die Ausgabe von Fliesstext und die anschliessende Repositionierung erkannt werden sollen. 1)
( eb /* emulation parameters */ $5E, /* #1 Format instruction prefix (as ASCII hex) */ ... 30, /* #7 Long text detection 0 - no support */ /* >0 - line length limit */ 3 /* #8 Text printing 0 - use regular font */ /* 3 - use bold font */ ),
Die in der Ressource stehende Zahl bestimmt, ab welcher Textlänge die Erkennung aktiviert werden soll. Dabei hat der Wert 0 eine besondere Bedeutung: er schaltet die Erkennung prinzipiell ab.
Der standardmässig angegebene Wert von 30 Zeichen ist lediglich ein Erfahrungswert und kann bei Bedarf erhöht oder erniedrigt werden, falls es bei konkreten Etikettendesigns zu falschen Reaktionen kommt.
Ausgangssituation mit deaktivierter Erkennung:
Druckbild mit aktivierter Erkennung:
Es soll aber nicht verschwiegen werden, dass diese Korrekturmöglichkeit ihre Grenzen hat, und im Einzelfall auch kein ideales Druckbild liefert. Es ist anhand des Druckdatenstroms nicht analysierbar, ob die Unterbrechung des Fliesstextes zwischen Worten oder mitten im Wort erfolgte.
Etikettendesigns, die von Menschen erstellt wurden, unterbrechen in der Regel zwischen Worten, Formulargeneratoren unterbrechen meist nach einer vorgegebenen Anzahl von Zeichen.
Die aktuell im Emulator implementierte Korrektur unterstellt eine Unterbrechung zwischen Worten. Es kann deshalb sein, dass im Druckbild mitten im Wort eine Leerstelle erscheint: