Austausch einer Schrift

Anforderung

In sehr vielen Anwendungsfällen wird print2forms eingesetzt, um Druckausgaben von Betriebssystemen wie i5/OS, z/OS, BS2000 oder Unix aufzubereiten. Sehr viele der auf diesen Systemen laufenden Anwendungen erzeugen Ausdrucke in einer dicktengleichen Schrift, meist Courier. Dies liegt daran, dass die Nutzung von Proportional- oder gar typographischen Schriften komplexe Laufweitenberechnungen erfordern, was im Vergleich zur eigentlichen Funktion der Programme erheblichen Rechenaufwand erfordert.

Die Schrift Courier hat inzwischen eine etwas angestaubte Optik, weil sie die gängige Schrifttype auf älteren Schreib­maschinen ist. Es steht daher manchmal die Anforderung im Raum, die Schrift Courier zu ersetzen.

Ersetzt man Courier mit einer Proportionalschrift oder einer typographischen Schrift, kommt es unweigerlich zu grossen Problemen bei der Darstellung von Tabellen mit numerischen Inhalten. Das liegt daran, dass die Leerstelle (bei typographischen Schriften) meist nur die Hälfte der Breite einer Ziffer hat, und es dann unweigerlich bei rechtsbündig ausgerichteten Zahlen (zum Beispiel bei Preisen) zum 'Flattersatz' kommt. 1)

Von daher kommt für eine Ersetzung einer dicktengleichen Schrift immer nur eine andere dicktengleiche Schrift in Frage.

Realisierung

Zusammen mit dem print2forms-Installer Build 289 wird eine neue Einstellung innerhalb von Prozessen angeboten: die Ersatzschrift.

Die Motivation, den Austausch der Schrift in das Prozess zu übernehmen, besteht zum einen darin, dass so prozess­spezifische Schriften ausgewählt werden können. Zum anderen bezieht sich diese Einstellung auf den Nutzdatenstrom und hat nichts mit den durch Formulare erzeugten zusätzlichen Bestandteilen des Ausdrucks zu tun.



Die Einstellung Ersatzschrift hat nur Gültigkeit, wenn im Druckdatenstrom eine der drei druckerresidenten Schriften Courier, Letter Gothic oder Lineprinter angewählt wird. Es ist also nicht möglich, Courier gegen eine andere Schrift zu ersetzen, als Letter Gothic.2)

Alle anderen Schriftselektionen werden unverändert weitergegeben.

Als Ersatzschriften werden neben den drucker­residenten Schriften Courier und Letter Gothic auch alle dicktengleichen Schriften aus der Schriftenbiblithek von print2forms angeboten. Die Schrift Lineprinter wird nicht angeboten, weil sie keine skalierbare Schrift ist.


Wird nun im Druckdatenstrom eine PCL-Sequenz gefunden, die die Schrift Courier wählt, wird diese Sequenz so verändert, dass die eingestellte Ersatzschrift selektiert wird. Andere Schriftattribute wie Laufweite, Kursiv (Oblique) oder Fett (Bold) bleiben dabei erhalten.

Wenn gegen eine Schrift aus der Schriftenbibliothek ersetzt wird, bedeutet dies natürlich auch automatisch, dass die betroffene Schrift in den Drucker geladen wird. Dabei geschieht das Laden inkrementell - das heist, es werden immer nur die Zeichen in den Drucker geladen, die für den aktuellen Text benötigt werden. So wird vermieden, dass die teils sehr grossen Schriften komplett zum Drucker übertragen werden. 3)

Ausdruck ohne Ersatzschrift:

Ausdruck mit Ersatzschrift:

Hinweise



1)
Die Ersetzung gegen typographische Schriften ist mit print2forms natürlich auch möglich, erfordert aber Textfelder für jede einzelne Tabellenspalte. Hier bietet sich aber auch an, darüber nachzudenken, die Tabellengestaltung mit einer Vorlage zu realisieren. Das wird im Tip Tabelle ausfüllen vorgestellt.

2)
Das ist eine sehr exotische Anforderung, die in der Praxis bisher nicht vorkam. Daher rechtfertigt sie auch keine komplexere Einstellung der Ersatzschrift. Sollte diese Anforderung im Raum stehen, kann das aber mit entsprechenden Textfeldern im Formular realisiert werden.

3)
Unabhängig davon, dass nur die Zeichen einer Schrift aus der Schriftenbibliothek geladen werden, die für einen auszugebenden Text benötigt werden, muss der sogenannte Fontheader immer komplett übertragen werden. Da dieser die Dicktentabellen und die Kerning-Paare enthält, kommen je nach Schriftumfang doch einige Kilobyte zusammen, die zum Drucker übertragen werden müssen.