Im Zusammenhang mit dem Druck von Etiketten kommt immer wieder einmal die Anforderung, mit inverser Schrift zu drucken - also in der Regel mit weisser Schrift auf schwarzem Hintergrund.
Das ist inzwischen bei Etikettendruckern mangels anderer Möglichkeiten der Hervorhebung von Text immer öfter Usus, weil bei Thermotransfer- und Thermodirektdruckern die aufgetragene schwarze Hintergrundfarbe ja auch nichts zusätzlich kostet. Auf Laser- und Tintendruckern ist inverser Druck unter Umständen nicht ganz so preiswert zu haben. Nichtsdestotrotz wird er nachgefragt.
Die eigentliche Problematik ist in print2forms eigentlich einfach zu lösen. Mit einem Linienfeld wird ein schwarzer Hintergrund erzeugt, und anschliessend mit einem Textfeld der gewünschte Text in weisser Farbe darübergedruckt. Nachteil dieses Vorgehens ist, dass der Hintergrund unabhängig von der Lauflänge des Textes ist, und bei unterschiedlich langen Texten so entsprechend Toner oder Tinte vergeudet wird.
Es wäre also wünschenswert, dass der Hintergrund exakt so lange (breit) ist, wie für den Text benötigt. Das ist mit Schriften fester Teilung noch einigermassen leicht zu errechnen, aber nicht mehr ganz so einfach bei proportionalen oder typographischen Schriften mit Kerning.
Ab der Build-Nummer 5830 des print2forms-Clients und der Build-Nummer 3104 des print2forms-Gateways steht ein Mechanismus zur Verfügung, der inverse Schrift unabhängig vom aktuellen Schrifttyp erzeugt. 1)
Gesteuert wird dies über eine Erweiterung der Einstellung Schriftstil im Textfeld. 2) Hier wird jetzt zusätzlich zu den vier bekannten Stilen jeder Stil noch einmal in der Kombination mit inversem Druck angeboten.
Im Zusammenhang mit dem inversen Drucken stellt sich bei normalen Seitendruckern relativ schnell die Frage, ob weisse Schrift auf schwarzem Hintergrund die einzige Option sein sollte. In print2forms wurde (auch wegen des Textblockfeldes) die Einstellung unter Farbe erweitert. Im Gegensatz zu den vorherigen Versionen von print2forms können jetzt bis zu vier Farben angegeben werden.
Für den inversen Druck sind die ersten beiden Farben entscheidend: die erste Farbangabe ist wie gewohnt die Farbe des Textes und die zweite Farbe ist die des Hintergrunds. Für den klassischen Fall muss also bei Farbe 0,0,0 100,100,100
oder #FFFFFF #000000
eingetragen werden. Zum Sparen von Toner könnte natürlich auch #FFFFFF #666666
o.ä. eingesetzt werden. Auf Farbdruckern geht dann auch sowas wie #ffff00 #aa0000
für gelben Text auf rotem Hintergrund.
Eine weitere wichtige Frage beim inversen Druck, ist die, wie hoch der Hintergrund im Vergleich zur Schrift sein soll. Das wird mit der Einstellung Zeilenvorschub im Textfeld geregelt. In der Regel sollte der Hintergrund mindestens so hoch sein, wie die Schrift selbst. Das führt allerdings dazu, dass - falls vorhanden - Über- oder Unterlängen von Zeichen an den Rand des Hintergrunds stossen.
Im Beispiel hier sind bei einer 12-Punkte Schrift die Druckergebnisse mit 12, 14, 16 und 18 Punkten Zeilenvorschub zu sehen. print2forms versucht, den Text gegenüber dem Hintergrund vertikal zu vermitteln. Das ist aber nicht ganz akurat möglich, weil der Wert für die maximale Unterlänge einer Schrift bei den druckerresidenten Schriften nicht zur Verfügung steht. 3)
Die Breite des Hintergrunds stellt beim inversen Druck die eigentliche technische Herausforderung dar. Die Breite könnte man errechnen, wenn man zum einen die Weiten aller zu druckenden Zeichen kennt und diese Weiten dann noch um die Unterschneidungen (Kerning) korrigiert. Das ist ein enormer Rechenaufwand, der für die Schriften der Schriftenbibliothek zwar machbar wäre, nicht aber für die druckerresidenten Schriften. Die Druckerhersteller stellen ihre Schriften nicht zur Verfügung.
Aus diesem Grund bedient sich print2forms eines Tricks, der letztlich auf dem vom Drucker selbst erzeugten Zeichenvorschub basiert. Resultat dieser Vorgehensweise ist, dass der Hintergrund am linken Fusspunkt des ersten Zeichens beginnt und am rechten Fusspunkt des letzten Zeichens endet. Ja nach Schrift entsteht so links vom ersten Zeichen und rechts vom letzten Zeichen noch Hintergrund.
Bei kursiven Schriften kommt es aber bei bestimmten Buchstaben vor, dass die Glyphe noch rechts vom rechten Fusspunkt gezeichnet wird. Daher kann das Zeichen 'aus dem Rahmen' fallen (erste Zeile der Abbildung). Das lässt sich im Bedarfsfall dadurch kompensieren, dass vor und nach dem auszugebenden Text ein Leerzeichen gedruckt wird (zweite Zeile der Abbildung).
Diese Lösung erzeugt aber mitunter ein unharmonisches Druckbild, weil das Leerzeichen zu breit ist. In den meisten Schriften gibt es deutlich mehr als ein Leerzeichen. Der Unicode-Standard kennt deren 14 Stück. Für die Anforderung hier kommen die schmaleren Leerzeichen mit den Unicodes Hex 2008 bis 200A in Frage (dritte Zeile der Abbildung).