Attribute eines Textes ändern

Anforderung

In einem Dokument soll eine bestimmte Textpassage, zum Beispiel eine Rechnungsnummer, Überschrift, o.ä. optisch hervorgehoben werden. Dazu soll für diesen Text eine andere Schrift verwendet werden.

In diesem Beispiel soll eine Angebotsnummer hervorgehoben werden. Grundlage ist das Formular 'Angebot einzelne Seite mit Bildern' aus der Beispielinstallation. Der Ausdruck vor der Änderung sieht wie folgt aus (Ausschnitt):

Realisierung

Zur Realisation dieser Anforderung wird im hier verwendeten Formular ein Textfeld benutzt (existentes Textfeld 'Angebot'). Die Aufgabe des Textfeldes ist, die Angebotsnummer zu finden, sie vom Blatt zu entfernen und in geänderter Form wieder hinzuzufügen.

In einem ersten Ansatz soll die Angebotsnummer lediglich fett gedruckt werden. Das Textfeld sieht dann so aus:

Aus der Indexdatei des Ausdrucks ist bekannt, daß sich die Angebotsnummer in einer Textpassage mit dem Index '0002C10000' befindet. Da die Angebotsnummer alleine in dieser Textpassage steht, kann einfach die ganze Passage mit dem Muster '(.*)' in den internen Textpuffer übernommen werden. Mit der Auswahl 'Ja' bei 'Feld entfernen' wird die ausgewählte Textpassage aus dem Ausdruck entfernt.

Da wir lediglich vorhaben, eine Courier 10 CPI gegen eine Courier Bold 10 CPI zu tauschen, gestaltet sich die Positionierung des neuen Textes recht einfach. Die Position bleibt unverändert. Mit der Angabe 'Relativ zum Feld' und den Offsets von '0 cm' wird dies gewährleistet.

In der Schablone wird der gepufferte Text mit der Angabe '\Angebot:1' angewählt. Die Referenz über einen Namen ist hier möglich, weil wir dem Textfeld den Namen 'Angebot' gegeben haben. Anschliessend wird die Courier 10 CPI in 'Bold' ausgewählt. Die Laufweite von '7.2' ergibt sich aus der Tatsache, daß ein Punkt 1/72 Zoll entspricht. Demzufolge ergibt sich bei 10 Zeichen pro Zoll eine Laufweite von 7.2/72 = 1/10.

Das Ergebnis dieser Änderung sieht jetzt so aus (Ausschnitt):

Etwas schwieriger wird das Ganze, wenn die Angebotsnummer in einer anderen Schrift, etwa 'Arial' gedruckt werden soll. Hierbei handelt es sich um eine typographische Schrift, bei der nicht nur die einzelnen Buchstaben unterschiedliche Breiten haben, sondern bestimmte Buchstabenkombinationen auch unterschnitten werden (Kerning). Würde einfach nur die Schriftangabe ausgetauscht, würde die Angebotsnummer viel zu weit links stehen, da das Leerzeichen in Arial sehr viel schmaler ist als in Courier (zumindest bei 14 Punkte vs 10 CPI).

In diesem Fall ist es zunächst sinnvoll, nicht die ganze Textpassage inklusive der führenden Leerstellen, sondern wirklich nur die Angebotsnummer zu ermitteln. Dies wird durch das Muster '.*(#####/#)' realisiert - unter der Bedingung, daß eine Angebotsnummer immer eine fünfstellige Zahl gefolgt von einer mit einem Schrägstrich abgetrennten Ziffer ist, und diese Angebotsnummer immer am Ende der Textpassage steht.

Bei der Positionierung wird durch Nachmessen ermittelt, daß die Angebotsnummer '15 cm' vom linken Rand der Nutzdaten (erstes Zeichen, dies ist der Referenzpunkt wegen der Positionierung 'Relativ zum Feld') gedruckt werden muß.

Jetzt wird noch eine '14 Punkte' grosse 'Arial' angewählt und das Ergebnis der Änderung sieht wie folgt aus (Ausschnitt):



Bemerkungen