Text auf Rahmenbreite austreiben durch Größenänderung

Nach einiger Pause mal wieder ein Script zum Spielen. Für den einen oder anderen wird es sicherlich auch sinnvoll einsetzbar sein.Es geht darum, den Scrhiftgrad der markierten Zeilen so zu vergrößern, dass die Spalte horizontal ausgefüllt ist.Das Script ist derzeit als Studie anzusehen, einige Ecken und Kanten müsste man wohl noch glätten, aber in ersten Tests tut's ganz gut, was es soll.

Nach einiger Pause mal wieder ein Script zum Spielen. Für den einen oder anderen wird es sicherlich auch sinnvoll einsetzbar sein.

Es geht darum, den Scrhiftgrad der markierten Zeilen so zu vergrößern, dass die Spalte horizontal ausgefüllt ist.

Das Script ist derzeit als Studie anzusehen, einige Ecken und Kanten müsste man wohl noch glätten, aber in ersten Tests tut's ganz gut, was es soll.

Die Anwendung

Setzen Sie den Cursor in einen Absatz oder markieren Sie den Text, der ausgetrieben werden soll und starten das Script.

Vorher

Nachher

Das Vorgehen

Das Script betrachtet immer ganze Absätze. Wenn kein Text markiert ist, gibts ne Fehlermeldung. Es merkt sich in einem ersten Schritt für jede Zeile den Index vom ersten und vom letzten Buchstaben.

Dann wird in einer zweiten Schleife von hinten anfangend jeweil der Textbereich zwischen dem ersten und letzten Index solange um einen Punkt vergrößert, bis der erste und der letzte Buchstabe nicht mehr auf einer Höhe stehen. Das bedeutet im Normalfall, dass die Zeile umbrochen wurde. (Das bedeutet aber auch, dass das Script bei gedrehten Textrahmen nicht funktionieren dürfte.) Dann wird der Text wieder um einen Punkt verkleinert.

Falls die Zeile durch die Vergrößerung in den Übersatz rutscht, wird sie nicht weiter bearbeitet und stattdessen geht es mit der nächsten weiter.

Caveats

Ich habe keine Tests mit Umbruchoptionen oder Spaltenspannen oder dergleichen Fiesematenten gemacht.

Das Vorgehen sollte aber recht stabil sein, so dass ich optimistisch bin, dass auch bei Konturenführungen etwas sinnvolles hinten bei raus kommt.

Nur sehr schnell ist es nicht. Dafür kann man zukucken :)

Vorher:

Nachher:

Ach ja... Das Script...

Ach ach ja... wie man Scripte installiert


Edit: Aufgrund der Frage von "setzer" habe ich hier noch eine Version des Scripts hinterlegt, die erst mal an jedes Zeilenende einen Softreturn setzt. Damit bleibt der Umbruch erhalten, aber der Text ist natürlich kein normaler Fließtext mehr.

Die obige Version versucht nicht, den Zeilenfall zu erhalten. Bei Texten mit kurzen Zeilen ist das i.d.R auch nicht nötig, aber wer wirklich Fließtext so malträtieren will, braucht die untere Variante.

Kommentare

Setzer

Funktioniert das unabhängig vom Setzer?
Also bei mehrzeiligen Absätzen auch mit dem Absatzsetzer?