Sanftes spationieren

Zunächst einmal: Der Begriff Spationierung wird nicht einheitlich verwendet, laut Typolexikon und meiner Erfahrung wird damit sowohl das Verändern von Wortzwischenräumen (WZR) als auch die Schriftweitenveränderung bezeichnet.

Die Schriftweite/Tracking lässt sich mit ALT + PFEIL NACH LINKS/RECHTS verändern, allerdings ist darauf zu achten zunächst in den Voreinstellungen unter Einheiten, Kerning den Wert 1 einzutragen.

Im deutschen Schriftsatz ist das eigentlich nicht erwünscht – seit dem Einzug von DTP allerdings ziemlich weit verbreitet – dort werden stattdessen die Wortzwischenräume verändert. In InDesign auch kein Problem mit den ALT + SHIFT + STRG + J wird das Menu mit den Werten für den Blocksatz aufgerufen. Der Wert für das Optimun wird entgegen der Beschriftung auch für den Rau-/Flattersatz verwendet. Die Tastenkombination für die Veränderung ist etwas unbekannter, aber auch kein Problem: WZR vegrößern STRG + ALT + ß bzw. mit STRG + ALT + BACKSPACE wieder verringern. Allerdings ist der Wert meines Wissens nicht in der Benutzeroberfläche oder via Skripting auslesbar.

In beiden Fällen gilt: Ungeduldige drücken dazu die SHIFT Taste, das ganze kann mit STRG + ALT + Q wieder aufgelöst werden.

Soweit zu den Built-in-Features, aber hier gehts ja um praktische Verbesserungen. Das folgende Skript bringt eine Zeile unter minimaler Veränderung des Wortzwischenraums ein. Das Skript orientiert sich am Minimalwert der Blocksatzeinstellugen, die je nach typografischen Gefühl des Benutzers eingestellt sein sollten.

Das Ergebnis lässt sich über die Blocksatzeinstellungen. kontrollieren, wenn es nicht gefällt einfach einmal Rückgängig ausführen.

// Der Cursor muss in einem Absatz positioniert sein:
if (app.selection[0].constructor.name == "InsertionPoint") {
    var par = app.selection[0].paragraphs[0];
    var lines = par.lines.length;
    var oldDesiredWordSpacing = par.desiredWordSpacing;
    var cDesiredWordSpacing = par.desiredWordSpacing;

    // WordSpacing solange verringern bis eine Zeile weniger
    while (par.lines.length == lines) {
        // Das etwas unübersichtliche Konzpet erlaubt danach ein
        // einmaliges STRG + Z für das Rückgängig
        cDesiredWordSpacing--;
        par.desiredWordSpacing = cDesiredWordSpacing;
        if (par.lines.length == lines) {
            par.desiredWordSpacing = oldDesiredWordSpacing;
        }
        // Das Skript orientiert sich am minimumWordSpacing
        // Wert aus den Blocksatzeinstellungen.
        // Falls der Minimalwert unterschritten wird,
        // wird der Originalwert wieder hergestellt.
        if (par.desiredWordSpacing == par.minimumWordSpacing)  {
            par.desiredWordSpacing = oldDesiredWordSpacing;
            exit(1);
        }
    }
    exit(0);
}

Eine interessante Möglichkeit wäre es, eine Textbereich oder Textrahmen auszuwählen, und dort das Skript den Absatz finden zu lassen der den geringsten Eingriff benötigt.

Die Idee für das Skript basiert auf einer Forumsdiskussion. Das Ergebnis dort war ein Skript von Teus de Jong welches die Spationieurng verringert. Im Download habe ich ein Skript mit beiden Optionen.