[GastForen Programme Print/Bildbearbeitung Adobe InDesign Flattersatzausgleich

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Flattersatzausgleich

Gerald Singelmann
  
Beiträge gesamt: 6219

16. Okt 2019, 08:21
Beitrag # 16 von 20
Beitrag ID: #572313
Bewertung:
(289 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#572311]
Anhang:
flattersatz.jpg (77.2 KB)
X

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12177

16. Okt 2019, 08:27
Beitrag # 17 von 20
Beitrag ID: #572314
Bewertung:
(282 mal gelesen)
URL zum Beitrag
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




als Antwort auf: [#572313]

Flattersatzausgleich

Michael Pabst
Beiträge gesamt: 2555

16. Okt 2019, 09:00
Beitrag # 18 von 20
Beitrag ID: #572315
Bewertung:
(274 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#572313]

Flattersatzausgleich

Uwe Laubender
Beiträge gesamt: 4532

16. Okt 2019, 10:29
Beitrag # 19 von 20
Beitrag ID: #572319
Bewertung:
(232 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#572314]

Flattersatzausgleich

Martin Fischer
  
Beiträge gesamt: 12177

16. Okt 2019, 10:46
Beitrag # 20 von 20
Beitrag ID: #572321
Bewertung:
(222 mal gelesen)
URL zum Beitrag
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




als Antwort auf: [#572319]
(Dieser Beitrag wurde von Martin Fischer am 16. Okt 2019, 11:39 geändert)

Anhang:
Flattersatzstil.png (214 KB)
Hier Klicken X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
18.11.2019

Düsseldorf
Montag, 18. Nov. 2019, 09.30 Uhr

Schulung, Seminar

Mit WordPress ist es möglich, ohne große Kosten und ohne Programmierkenntnisse eine ansprechende Webseite zu erstellen, die allen Anforderungen des modernen Webdesigns – besonders unter Beachtung der Suchmaschinenoptimierung (SEO) – gerecht wird. Unsere Schulung Webdesign mit WordPress zeigt Ihnen, wie Sie hochwertige Webseiten mit WordPress erstellen.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/schulungen/schulung-webdesign-mit-wordpress/

Suchmaschinen-optimiertes Webdesign mit WordPress
Veranstaltungen
19.11.2019 - 20.11.2019

Düsseldorf
Dienstag, 19. Nov. 2019, 09.30 Uhr - Mittwoch, 20. Nov. 2019, 17.30 Uhr

Schulung, Seminar

Unsere Schulung „Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner“ bietet allen Anwendern, die in Agenturen oder freiberuflich als Reinzeichner bzw. in der Reinzeichnung arbeiten, topaktuelles Grafik- und PrePress-Fachwissen rund um das Thema „Druckdatenerstellung mit InDesign, Photoshop, Acrobat“.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/zweitaegige-weiterbildung-zum-cleverprinting-reinzeichner/

Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner