Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Flattersatzausgleich

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 10:12
Bewertung:

gelesen: 15480

Beitrag als Lesezeichen
Beim Studium der Flattersatzeigenschaften von Absatzformaten in der Scripting Reference bin ich über ein paar Eigenschaften gestolpert, die ich von der Benutzeroberfläche her nicht kenne.
Auf der Benutzeroberfläche kenne ich nur die Option "Flattersatzausgleich an" und "Flattersatzausgleich aus".

Tatsächlich gibt es noch weitere Optionen.
Hier die Liste:

1. noBalancing = Flattersatz aus;
2. veeShape = V-förmig;
3. fullyBalanced = Angleichen;
4. pyramidShape = Pyramidenform;

Sind diese Eigenschaften doch noch irgendwo in der Benutzeroberfläche einzustellen?
Oder hält InDesign hier eine heimliche Stärke versteckt?

Mir ist der Unterschied zwischen fullyBalanced und veeShape bzw. zwischen fullyBalanced und pyramidShape nicht ganz klar. Manchmal scheint fullyBalanced gleich veeShape zu sein und manchmal fullyBalanced gleich pyramidShape.

Ist es so, daß bei veeShape und pyramidShape die Form definitiv vorgegeben ist und bei fullyBalanced dem Programm die Entscheidung (ob veeShape oder pyramidShape) überlassen wird?

Hier ein kleines Skript, mit dem man 4 ausgewählten Absätzen die unterschiedlichen Flattersatzeigenschaften zuweisen kann (es müssen mindestens 4 Absätze ausgewählt sein, sonst tut sich nix):
Code
// checkbalanceRaggedLines.jsx 

with (app.selection[0])
{
if (paragraphs.length < 4) {
alert(paragraphs.length + " Absätze sind zu wenig!")
exit();
}

paragraphs[0].balanceRaggedLines = BalanceLinesStyle.noBalancing;
paragraphs[1].balanceRaggedLines = BalanceLinesStyle.veeShape;
paragraphs[2].balanceRaggedLines = BalanceLinesStyle.fullyBalanced;
paragraphs[3].balanceRaggedLines = BalanceLinesStyle.pyramidShape;
}


Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 10:31 geändert)

Flattersatzausgleich

Michi-F
Beiträge gesamt: 232

16. Aug 2007, 13:19
Bewertung:

gelesen: 15431

Beitrag als Lesezeichen
Hallo Martin,

ich habe das Script mal bei mir mit eigenem Text probiert – jeweils viermal derselbe Absatz. Man kann in der Absatzpalette sehen, was angewählt wurde, da die Absätze mit einem "+"-Symbol versehen werden.

1. noBalancing = entspricht Flattersatz ohne Flattersatzausgleich
2. veeShape = Flattersatz mit Flattersatzausgleich

Weist man dem 1. Absatz ein Format mit Flattersatzausgleich zu, wird es mit "+" gekennzeichnet, der 2. Absatz nicht. Bei Format ohne Flattersatzausgleich ist es genau andersrum.

Bei 3. oder 4. konnte ich bei meinem Text überhaupt keinen Unterschied zu 2. feststellen. Vielleicht kann man es deswegen auch nicht auswählen.

Gruß, Michael

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 13:24
Bewertung:

gelesen: 15427

Beitrag als Lesezeichen
Hallo Michael,

Zitat Weist man dem 1. Absatz ein Format mit Flattersatzausgleich zu, wird es mit "+" gekennzeichnet, der 2. Absatz nicht. Bei Format ohne Flattersatzausgleich ist es genau andersrum.


Ob ein Plus kommt oder nicht, hängt von dem Flattersatzausgleich des verwendeten Absatzformats ab.

Zitat Bei 3. oder 4. konnte ich bei meinem Text überhaupt keinen Unterschied zu 2. feststellen. Vielleicht kann man es deswegen auch nicht auswählen.


Hast Du das mal mit Absätzen mit unterschiedlicher Zeilenzahl getestet?

Ich hatte oben darauf hingewiesen, daß 3. entweder genau gleich wie 2. oder genau gleich wie 4. ist.
Mir scheint, hier darf InDesign zwischen 2. und 4. unterscheiden. Wohingegen die Zuweisung von 2. und 4. dem Benutzer Oberhand gibt.

Viele Grüße
Martin


Flattersatzausgleich

Michi-F
Beiträge gesamt: 232

16. Aug 2007, 13:46
Bewertung:

gelesen: 15413

Beitrag als Lesezeichen
Hallo Martin,

das mit dem Flattersatzausgleich wollte ich eigentlich so sagen.

Ich kann doch den Flattersatz nur vergleichen, wenn ich exakt gleiche Absätze habe – und dann bekomme ich bei 2. bis 4. exakt gleiche Ergebnisse.
Beim Testen mit unterschiedlichen Zeilenzahlen – also mal mehr und mal weniger Text – ist mir noch folgendes aufgefallen:
InDesign versucht anscheinend bei allen Versionen 2 bis 4 (Flattersatzausgleich ein), die letzte Zeile des Absatzes zu lange wie möglich zu machen. Tippt man einfach mehr Text ein, bleibt das letzte Wort immer am rechten Rand, und InDesign gleicht alle Zeilen des Absatzes so an, dass die letzte Zeile ganz gefüllt ist.
Darum ergibt sich natürlich mit unterschiedlichen Zeilen auch ein anderer Flattersatz.

Michael

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 14:20
Bewertung:

gelesen: 15401

Beitrag als Lesezeichen
> dann bekomme ich bei 2. bis 4. exakt gleiche Ergebnisse.

Eben dies war/ist bei mir anders:

Entweder sind 2. und 3. gleich oder 4. und 3.
Es kann auch vorkommen, daß alle drei gleich sind.
Es kommt aber nicht vor, daß 2. und 4. gleich sind und 3. ist nicht gleich wie 2. und 4.

Das kann man ganz gut beobachten, wenn man den Textrahmen schrittweise verkleinert bzw. vergrößert.

Insgesamt sind die Unterschiede zwischen den einzelnen Einstellungen relativ schwach ausgeprägt. Eine ausgeprägte V-Form oder eine ausgeprägte Pyramidenform läßt sich damit nicht bewerkstelligen.

Vielleicht ein Grund, weswegen diese weiteren Differenzierungen den Einzug in die Benutzeroberfläche (noch) nicht geschafft haben.

Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 14:49 geändert)

Flattersatzausgleich

Michi-F
Beiträge gesamt: 232

16. Aug 2007, 14:49
Bewertung:

gelesen: 15382

Beitrag als Lesezeichen
Hallo Martin,

stimmt, ich habe jetzt mal den Textrahmen millimeterweise schmäler gemacht. Da sind tatsächlich Unterschiede erkennbar. Aber einen großen Sinn sehe ich jetzt nicht dahinter – man kann nicht sagen, dass eine Variante besser als eine andere wäre.

Michael

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 14:54
Bewertung:

gelesen: 15379

Beitrag als Lesezeichen
> man kann nicht sagen, dass eine Variante besser als eine andere wäre.

Ach, sag doch nicht so was. ;-)
Nun, Formsatz ist damit nicht zu machen - s.o.

Viele Grüße
Martin


Flattersatzausgleich

Gerald Singelmann
  
Beiträge gesamt: 6269

16. Aug 2007, 17:05
Bewertung:

gelesen: 15352

Beitrag als Lesezeichen
Hallo Martin,

ich hab den Thread nur überflogen und weiß daher nicht, ob Ihr schon ein Beispiel gefunden habt. Anbei ist eins

Anhang:
Bild 1.png (48.7 KB)

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 17:09
Bewertung:

gelesen: 15349

Beitrag als Lesezeichen
Gerald,

hast Du nun den Flattersatz mit meinem Skript oder manuell erzeugt?

Wenn ersteres der Fall ist, dann hast Du meine Theorie gründlich widerlegt.
Und das wäre mir jetzt unangenehm.

Da ich aber weiß, daß Du meine Skripte wie der Teufel das Weihwasser scheust, habe ich noch Hoffnung. ;-)


edit:
Ein Test auf die Schnelle bestätigt meine Annahmen (siehe Anhang): Gerald hat geschummelt und selber Hand angelegt, um den Umbruch so hinzubekommen, wie er ihn uns zeigen wollte (nämlich, was eine V-Form oder eine Pyramidenform sein sollten) - oder? ;-)

Nach meiner obigen Theorie müßte nämlich der dritte Absatz mindestens mit einem von beiden, dem zweiten oder dem vierten, übereinstimmen. Mit eigenen Experimenten konnte ich das Gegenteil dieser Behauptung bislang nicht nachweisen.

Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 16. Aug 2007, 17:24 geändert)

Anhang:
JKnopf.jpg (49.2 KB)

Flattersatzausgleich

Gerald Singelmann
  
Beiträge gesamt: 6269

16. Aug 2007, 17:43
Bewertung:

gelesen: 15338

Beitrag als Lesezeichen
Martin, seit wann bezeichnest Du Deine Skripte denn als teuflisch, dass ich die meiden müsste?
;)

Natürlich habe ich die vier Absätze mit dem Skript formatiert.

Die Erklärung, die sich mir aufdrängt:
- Flattersatzausgleich funktioniert ausschließlich, wenn der Absatz mit dem Absatzsetzer umbrochen wird
- (Soweit ich weiß) absolut jede Entscheidung beim Zeilenfall mit dem Absatzsetzer wird gefällt, indem bestimmte Umstände eine Penalty bekommen: Jede Trennung gibt Strafpunkte. Wieviele Strafpunkte, bestimmt der Regler in "Silbentrennung". Nur ein Wort in der letzten Zeile gibt Strafpunkte. Wortabstände an den Grenzen des erlaubten Intervalls gibt Strafpunkte. Wortabstände außerhalb des erlaubten Bereichs gibt ein Vielfaches an Strafpunten.
- Bei Flattersatzausgleich gibt es Strafpunkte, wenn die Zeilen verschieden lang sind. Je größer der Unterschied der Zeilenlängen, desto mehr Strafpunkte.
- Bei Vee-Shape gibt es Strafpunkte, wenn eine spätere Zeile länger als eine vorhergehende Zeile ist.
- Bei Pyramid-Shape gibt es Strafpunkte, wenn eine spätere Zeile kürzer als eine vorherige Zeile ist.
-> Das heißt NICHT, dass bei Pyramid-Shape nicht das gleiche Ergebnis rauskommen kann wie bei fully-balanced oder vee-shaped!! Wenn die anderen Kriterien (z.B. unterschiedlich lange Zeilen) schwerer wiegen, wird in allen drei Fällen das selbe Ergebnis berechnet.
Aber die Tendenz ist, dass die Form eingehalten wird.

Oder?

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Aug 2007, 17:51
Bewertung:

gelesen: 15331

Beitrag als Lesezeichen
Hallo Gerald,

Deine Erklärung mit den Strafpunkten leuchtet mir ein.
Es ist halt schwer, sich von einer festen und mehrfach bestätigten Annahme zu verabschieden, zumal ich diese Annahme bislang experimentell nicht widerlegen konnte.

Aber es müssen ja auch nicht alle Schwäne weiß sein, nur weil ich noch keinen schwarzen gesehen habe.



Nun aber zum Abschluß noch eine konkrete Frage, die sich mit ja oder nein beantworten läßt:

Lassen sich Vee-Shape und Pyramid-Shape über die Benutzeroberfläche einstellen oder sind sie nur per Skript zuweisbar?

Viele Grüße
Martin


Flattersatzausgleich

Gerald Singelmann
  
Beiträge gesamt: 6269

16. Aug 2007, 17:55
Bewertung:

gelesen: 15328

Beitrag als Lesezeichen
Zitat Lassen sich Vee-Shape und Pyramid-Shape über die Benutzeroberfläche einstellen oder sind sie nur per Skript zuweisbar?

Ich kenn den Schalter nicht, der das umstellt.
Und, bei aller angemessenen Bescheidenheit, werte ich mal als "nein / ja".

Flattersatzausgleich

Michi-F
Beiträge gesamt: 232

17. Aug 2007, 11:30
Bewertung:

gelesen: 15257

Beitrag als Lesezeichen
Hallo,

aus dem Tagged-Tex-User-Guide:

<pBalanceLines:1>
0=off (default), 1=on (Vee shape), 2=Equal, 3=Pyramid
The user interface lets you turn balanced lines on or off.
The 2 and 3 values are available only for scripting
purposes.


Michael

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

15. Okt 2019, 23:00
Bewertung:

gelesen: 5924

Beitrag als Lesezeichen
Bin nochmal über die Texteigenschaft "balanceRaggedLines" gestolpert und weiß immer noch nicht so recht, was die unterschiedlichen Werte (jenseits von "no balancing") konkret bedeuten.

– BalanceLinesStyle.NO_BALANCING
– BalanceLinesStyle.FULLY_BALANCED
– BalanceLinesStyle.PYRAMID_SHAPE
– BalanceLinesStyle.VEE_SHAPE

Trotzdem hier ein Skript, mit dem man dem ausgewählten Text einen Flattersatzstil zuweisen kann:

Code
// Flattersatzstil.jsx 

if (app.selection.length > 0 && app.selection[0].hasOwnProperty('parentStory'))
{
var result = null,
start = app.selection[0].insertionPoints.firstItem().balanceRaggedLines,
bl_styles = [
BalanceLinesStyle.NO_BALANCING,
BalanceLinesStyle.FULLY_BALANCED,
BalanceLinesStyle.PYRAMID_SHAPE,
BalanceLinesStyle.VEE_SHAPE
],
bl_st_names = [];

bl_st_names = bl_styles.join('#').replace(/_/g,' ').toLowerCase().split('#');

result = get_bl_style(bl_styles, bl_st_names, start);
if (result != null)
app.selection[0].texts.firstItem().balanceRaggedLines = bl_styles[result];

function get_bl_style(bl_styles, bl_st_names, start)
{
var i = 0;
var check = [];
var w = new Window ("dialog", "Flattersatzstil");
w.alignChildren = "left";

for (i = 0; i < bl_st_names.length; i++)
{
check[i] = w.add ("radiobutton", undefined, bl_st_names[i]);
if (bl_styles[i] == start)
check[i].value = true;
};

var b = w.add ("group");
b.alignment = "right";
b.add ("button", undefined, "Cancel", {name: "Cancel"});
b.add ("button", undefined, "OK", {name: "Ok"});

if (w.show() != 2)
{
for (i = 0; i < check.length; i++)
{
if (check[i].value)
return i;
};
return myList.selection.index;
}
else
return null;
}
}


Meines Wissens sind diese Stile auch in CC2019 noch nicht über die Benutzeroberfläche einzurichten.

BalanceLinesStyle.FULLY_BALANCED heisst vermutlich "möglichst alle Zeilen gleich lang einzustellen".

Die Benutzeroberfläche kennt nur
– Flattersatz: BalanceLinesStyle.VEE_SHAPE
oder
– Kein Flattersatz: BalanceLinesStyle.NO_BALANCING


Weiß jemand, ob diese Stile irgendwo dokumentiert oder beschrieben sind?

Besonders interessieren mich die Regeln für BalanceLinesStyle.PYRAMID_SHAPE.
Eine Pyramide habe ich bislang (optisch) noch nicht erkennen können.
Spitze oben oder unten?

Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 15. Okt 2019, 23:01 geändert)

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Okt 2019, 06:18
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
Nach einer Nacht drüber schlafen bin ich zu folgendem Ergebnis gekommen, das mir plausibel erscheint:
  • NO_BALANCING = kein Flattersatzausgleich
  • FULLY_BALANCED = Flattersatzausgleich wie "Blocksatz (alle Zeilen)"
  • PYRAMID_SHAPE = Pyramidenform (oben schmalere Textzeilen, unten breitere)
  • VEE_SHAPE = V-Form (oben breitere Textzeilen, unten schmalere)

Die Formen scheinen mir allerdings eher versteckte, grobe Richtlinien für den Zeilenfall als tatsächlich optisch zu erkennende Textgestalten zu sein.
Da liegt noch Potenzial für Flattersatztechniken in späteren InDesign-Versionen drin. ;-)

Da der Flattersatzausgleich nur mit aktivem Absatzsetzer funktioniert, ist im folgenden Code die Umstellung auf den Absatzsetzer implementiert.

Code
// Flattersatzstil.jsx 

if (app.selection.length > 0 && app.selection[0].hasOwnProperty('parentStory'))
{
var result = null,
start = app.selection[0].insertionPoints.firstItem().balanceRaggedLines,
bl_styles = [
BalanceLinesStyle.NO_BALANCING,
BalanceLinesStyle.FULLY_BALANCED,
BalanceLinesStyle.PYRAMID_SHAPE,
BalanceLinesStyle.VEE_SHAPE
],
bl_st_names = [];

bl_st_names = bl_styles.join('#').replace(/_/g,' ').toLowerCase().split('#');

result = get_bl_style(bl_styles, bl_st_names, start);
if (result != null)
{
if (bl_styles[result] != BalanceLinesStyle.NO_BALANCING)
set_composer( app.selection[0].texts.firstItem() ); // Absatzsetzer statt Ein-Zeilen-Setzer
app.selection[0].texts.firstItem().balanceRaggedLines = bl_styles[result];
}

function get_bl_style(bl_styles, bl_st_names, start)
{
var i = 0;
var check = [];
var w = new Window ("dialog", "Flattersatzstil");
w.alignChildren = "left";

for (i = 0; i < bl_st_names.length; i++)
{
check[i] = w.add ("radiobutton", undefined, bl_st_names[i]);
if (bl_styles[i] == start)
check[i].value = true;
};

var b = w.add ("group");
b.alignment = "right";
b.add ("button", undefined, "Cancel", {name: "Cancel"});
b.add ("button", undefined, "OK", {name: "Ok"});

if (w.show() != 2)
{
for (i = 0; i < check.length; i++)
{
if (check[i].value)
return i;
};
return myList.selection.index;
}
else
return null;
}

function set_composer(sel)
{
for (var i = 0; i < sel.paragraphs.length; i++)
{
if (app.findKeyStrings(sel.paragraphs[i].composer) == '$ID/HL Single')
sel.paragraphs[i].composer = '$ID/HL Composer';
else if (app.findKeyStrings(sel.paragraphs[i].composer) == '$ID/HL Single Optyca')
sel.paragraphs[i].composer = '$ID/HL Composer Optyca';
};
}
}


Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 16. Okt 2019, 06:31 geändert)

Flattersatzausgleich

Gerald Singelmann
  
Beiträge gesamt: 6269

16. Okt 2019, 08:21
Bewertung:

gelesen: 2008

Beitrag als Lesezeichen
Hallo Martin,

Mutmaßung: Flattersatzausgleich ist für Überschriften, BUs u.dergl. gemacht, also für Texte, die typischerweise zwischen 1 und 3 Zeilen lang sind.

Es soll erreicht werden, dass die 1. und die 2. (mehr gibts ja i.d.R. nicht) Zeile in etwa gleich lang sind.

Exakt gleich lang geht natürlich nicht.

VEE stellt dann sicher, dass die letzte Zeile kurz ist und PYR, dass die erste Zeile kurz ist.

Das scheint auch ganz gut zu funktionieren. Siehe Screenshot.

Anhang:
flattersatz.jpg (77.2 KB)

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Okt 2019, 08:27
Bewertung:

gelesen: 2001

Beitrag als Lesezeichen
Hallo Gerald,

mit Deiner Mutmaßung stimme ich überein.

Habe vorhin ebenfalls einen Test mit zweizeiligen Überschriften gemacht und bei VEE und PYR dieselben Beobachtungen wie Du angestellt:

VEE: letzte Zeile kürzer als die erste.
PYR: erste Zeile kürzer als die letzte.

Damit kann ich wieder ruhiger schlafen. ;-)

Viele Grüße
Martin


Flattersatzausgleich

Michael Pabst
Beiträge gesamt: 2858

16. Okt 2019, 09:00
Bewertung:

gelesen: 1993

Beitrag als Lesezeichen
Antwort auf: Mutmaßung: Flattersatzausgleich ist für Überschriften, BUs u.dergl. gemacht, also für Texte, die typischerweise zwischen 1 und 3 Zeilen lang sind.

Damit wäre ein für mich langjähriges Mysterium geklärt.

Die Morgenlektüre bei HDS hat sich mal wieder gelohnt und der Tag fängt gut an! :-)

Viele Grüße
Michael

Flattersatzausgleich

Uwe Laubender
Beiträge gesamt: 5316

16. Okt 2019, 10:29
Bewertung:

gelesen: 1951

Beitrag als Lesezeichen
Guten Morgen Martin,
schön, dass Du das Thema hast aufleben lassen!
Danke!


Kein Einwand, eher eine Beobachtung zu app.findKeyStrings().
Diese Methode gibt in jedem Fall ein Array aus. Dessen Länge kann 0 sein, für nichts gefunden, die Länge kann 1 sein, wie im unteren Beispiel, wenn ein String gefunden wurde. Die Länge kann aber auch größer als 1 sein, wenn mehrere Strings gefunden wurden. Durchaus nicht ungewöhnlich.

Ist die Länge 1, dann funktioniert der Code hier ohne Probleme, denn praktischerweise gilt für diesen Fall: Array == String.

Code
if (app.findKeyStrings(sel.paragraphs[i].composer) == '$ID/HL Single')  
sel.paragraphs[i].composer = '$ID/HL Composer';


JavaScript "verwandelt" das Array zu dessen Inhalt, einem String mit Wert '$ID/HL Single'.

Allgemeines Beispiel:

Code
var a = ["Inhalt"]; 
var b = "Inhalt";

a == b // Return true
a === b // Return false


Demnach würde das nicht funktionieren:
Code
if (app.findKeyStrings(sel.paragraphs[i].composer) === '$ID/HL Single')  
sel.paragraphs[i].composer = '$ID/HL Composer';


Deshalb schreibe ich das dann sicherheitshalber so:

Code
if (app.findKeyStrings(sel.paragraphs[i].composer)[0] === '$ID/HL Single')  
sel.paragraphs[i].composer = '$ID/HL Composer';

*****
Mit herzlichem Gruß,
Uwe Laubender

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12783

16. Okt 2019, 10:46
Bewertung:

gelesen: 1941

Beitrag als Lesezeichen
Hallo Uwe,

danke für den Hinweis.

Auf die findKeyStrings()-Methode habe ich heute früh nur kurz aus Verzweiflung zugegriffen. Hatte mir eigentlich erhofft, den Vergleich ohne diese Methode (und dennoch sprachunabhängig) vornehmen zu können.

Du hast freilich recht.
Wenn ein Array zurückgegeben wird, sollte man das Resultat auch entsprechend adressieren.

Anbei das überarbeitete Skript:
Code
// Flattersatzstil.jsx 

if (app.selection.length > 0 && app.selection[0].hasOwnProperty('parentStory'))
{
var result = null,
start = app.selection[0].insertionPoints.firstItem().balanceRaggedLines,
bl_styles = [
BalanceLinesStyle.NO_BALANCING,
BalanceLinesStyle.FULLY_BALANCED,
BalanceLinesStyle.PYRAMID_SHAPE,
BalanceLinesStyle.VEE_SHAPE
],
bl_st_names = [];

bl_st_names = bl_styles.join('#').replace(/_/g,' ').toLowerCase().split('#');

result = get_bl_style(bl_styles, bl_st_names, start);
if (result != null)
{
if (bl_styles[result] != BalanceLinesStyle.NO_BALANCING)
set_composer( app.selection[0].texts.firstItem() ); // Absatzsetzer statt Ein-Zeilen-Setzer
app.selection[0].texts.firstItem().balanceRaggedLines = bl_styles[result];
}

function get_bl_style(bl_styles, bl_st_names, start)
{
var i = 0;
var check = [];
var w = new Window ("dialog", "Flattersatzstil");
w.alignChildren = "left";

for (i = 0; i < bl_st_names.length; i++)
{
check[i] = w.add ("radiobutton", undefined, bl_st_names[i]);
if (bl_styles[i] == start)
check[i].value = true;
};

var b = w.add ("group");
b.alignment = "right";
b.add ("button", undefined, "Cancel", {name: "Cancel"});
b.add ("button", undefined, "OK", {name: "Ok", active: true});

if (w.show() != 2)
{
for (i = 0; i < check.length; i++)
{
if (check[i].value)
return i;
};
return myList.selection.index;
}
else
return null;
}

function set_composer(sel)
{
for (var i = 0; i < sel.paragraphs.length; i++)
{
if (app.findKeyStrings(sel.paragraphs[i].composer)[0] == '$ID/HL Single')
sel.paragraphs[i].composer = '$ID/HL Composer';
else if (app.findKeyStrings(sel.paragraphs[i].composer)[0] == '$ID/HL Single Optyca')
sel.paragraphs[i].composer = '$ID/HL Composer Optyca';
};
}
}




Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 16. Okt 2019, 11:39 geändert)

Anhang:
Flattersatzstil.png (214 KB)