Eigenschaft:

Zeilenlänge


Beschreibung:

Mit der Eigenschaft Zeilenlänge wird festgelegt, wie lang eine Zeile innerhalb eines Textblocks sein darf. Die Länge wird dabei als maximale Zeichen je Zeile angegeben.

Die Angabe in Zeichen pro Zeile ist eine Folge des simplen Algorithmus zum Zeilenumbruch. 1) Bei proportionaler oder typographischer Schrift ist das natürlich relativ ungenau, weil die Zeichenbreiten ja variieren. In der Praxis liefert es aber trotzdem brauchbare Resultate. Evenutell muss man mit der Zeilenlänge etwas experimentieren.



Der Standardwert 512 für diese Einstellung sollte garantieren, dass bei der Ausgabe eines Textblocks kein Zeilenumbruch vorgenommen wird. In der Mehrzahl der Fälle dürfte es auch so sein, dass der Textblock bereits bei seiner Definition per Hand umgebrochen wird - durch Einfügen von Zeilenvorschüben.

Werden in einem Textblock aber variable Texte eingefügt, die aus dem Druckdatenstrom entnommen wurden, ist deren Länge bei manchen Anwendungsfällen sehr unterschiedlich. Bei manuellem Umbruch kommt es dann zu einem sehr unschönen Flattersatz mit weit eingeschnittenen oder herausragenden Zeilenenden.

Aus diesem Grund bietet print2forms im Textblock einen automatischen Zeilenumbruch an.

Dabei wird zunächst der Text des Textblocks unter Schablone fortlaufend ohne manuelle Zeilenumbrüche eingegeben. Dieser Text wird beim Drucken im ersten Schritt erst einmal mit den variablen Texten aus den Druckdaten gefüllt, falls das notwendig sein sollte. Dadurch kann sich die Textlänge mitunter drastisch verändern.

Mit Hilfe der Einstellung Zeilenlänge wird dann die Zone im Text ermittelt, an der ein Zeilenumbruch erforderlich wäre. Diese Zone wird dann vom Ende her nach Wortgrenzen durchsucht, an denen der Umbruch stattfinden könnte. Als Wortgrenze gewertet werden Leerzeichen 2), Binde- und Schrägstriche. Ausserdem gelten die mit dem Markup '- markierten Silbengrenzen als potentielle Umbruchstellen.

Ist eine Umbruchstelle gefunden, wird im Text an dieser Stelle ein Zeilenwechsel eingefügt, und mit dem verbleibenden Rest des Textes weiter umgebrochen. Das wiederholt sich bis zur letzten Textzeile, deren Länge dann kürzer oder gleich dem hier vorgegebenen Maximum ist.

Hinweise:


1)
Ein genauer Zeilenumbruch erfordert die Kenntnis aller Zeichenbreiten der verwendeten Schriften und die Auswertung der Kerningtabellen. Das ist zum einen sehr rechenintensiv, ist aber andererseits auch gar nicht realisierbar, weil für druckerresidente Schriften diese Informationen nicht vorliegen. Insofern ist das, was print2forms hier macht, ein pragmatischer Kompromiss, der die meisten Anwendungsfälle zufriedenstellend realisieren kann.

2)
Nur das mit dem Code Hex 20. Alle anderen Leerzeichen Hex 2000 bis Hex 200B gelten als Buchstabe. Das Leerzeichen Hex 80 wird natürlich gemäss seiner Semantik ebenfalls nicht umgebrochen.