hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 3 » »  
Gerald Singelmann  M  p
Beiträge: 6050
21. Feb 2006, 14:35
Beitrag #1 von 33
Bewertung:
(10830 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hi all,

wir hatten kürzlich das Thema, welche Abstände eigentlich genau in einer Blocksatzzeile stehen. Die 3 Gelb-Abstufungen sind ja nicht sooo aussagekräftig.

Und da der Score "Nützliche Skripte von Martin : Nützliche Skripte von anderen" etwa bei 2491:5 steht, habe ich mal folgenden Ansatz (derzeit nur AppleScript) umgesetzt.
Anleitung: wie üblich in den Skript-Ordner kopieren, einen Textrahmen markieren, vorzugsweise einen, in dem Blocksatz enthalten ist, und über die Skript-Palette starten.

Das Skript geht davon aus, dass alle WA in einer Zeile gleich groß sind und dass alle Zeichen gleich skaliert wurden (wenn überhaupt). Das ist nicht ganz korrekt (es gibt anscheinend Ausnahmen), dürfte in den meisten Fällen aber ausreichen.

Code
tell application "Adobe InDesign CS2" 
set myDoc to active document
set mySel to selection
try
set myLayer to layer "checkText" of myDoc
on error
tell myDoc to set myLayer to make layer with properties {name:"checkText"}
end try

repeat with myFrame in selection
if class of myFrame is text frame then
set myDFrame to duplicate myFrame
set item layer of myDFrame to myLayer

set nLines to count lines of myDFrame
set myStory to parent story of myDFrame
set softReturnHere to {}
repeat with n from nLines to 1 by -1
set softReturnHere to softReturnHere & (index of last character of line n of myDFrame)
end repeat
repeat with n from 1 to nLines
set myIndex to (item n of softReturnHere) + 1
set nChars to count characters of myStory
set lastChar to character (myIndex - 1) of myStory
if (myIndex < nChars) and (lastChar is not "
") and (lastChar is not forced line break) then
set contents of insertion point (myIndex) of myDFrame to forced line break
end if
end repeat

set prevBounds to geometric bounds of myDFrame
set geometric bounds of myDFrame to {(item 1 of prevBounds), item 2 of prevBounds, (item 3 of prevBounds), (item 4 of prevBounds) + 50}

set justification of text of myDFrame to left align
set desired word spacing of text of myDFrame to 100
set desired letter spacing of text of myDFrame to 0
set desired glyph scaling of text of myDFrame to 100
try
set fill color of text of myDFrame to swatch "rot" of myDoc
on error
tell myDoc to set nuColor to make color
tell nuColor
set space to RGB
set color value to {192, 0, 0}
set name to "rot"
end tell
set fill color of text of myDFrame to swatch "rot" of myDoc
end try

set wordscalings to {}
repeat with q from 1 to nLines
set nWords to count words in line q of myFrame
set nChars to count characters in line q of myFrame

set myIndex to (index of last character) of word 1 of line q of myFrame
set myDIndex to (index of last character) of word 1 of line q of myDFrame
set myFirst to index of first character of line q of myDFrame
set myLast to index of last character of line q of myDFrame

set aSpace to (horizontal offset of character (myIndex + 2) of myFrame) - (horizontal offset of character (myIndex + 1) of myFrame)
set aSpaceD to (horizontal offset of character (myDIndex + 2) of myDFrame) - (horizontal offset of character (myDIndex + 1) of myDFrame)

set aChar to (horizontal offset of character (myIndex + 1) of myFrame) - (horizontal offset of character (myIndex) of myFrame)
set aCharD to (horizontal offset of character (myDIndex + 1) of myDFrame) - (horizontal offset of character (myDIndex) of myDFrame)
set wordscalings to wordscalings & ("w: " & (((aSpace * 1000) div aSpaceD) / 10 & "- c: " & ((aChar * 1000) div aCharD) / 10) as string)
set point size of (text from character myFirst to character (myLast - 1)) of myDFrame to 6
set contents of (text from character myFirst to character (myLast - 1)) of myDFrame to (item q of wordscalings)
end repeat

set prevBounds to geometric bounds of myFrame
set geometric bounds of myDFrame to {(item 1 of prevBounds), (item 2 of prevBounds) - 30, (item 3 of prevBounds), (item 2 of prevBounds)}

-- activate
end if
end repeat
end tell


--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
(Dieser Beitrag wurde von Christoph Steffens am 23. Feb 2006, 08:31 geändert)
Top
 
X
Martin Fischer  M  p
Beiträge: 10890
21. Feb 2006, 16:17
Beitrag #2 von 33
Beitrag ID: #213099
Bewertung:
(10797 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo Gerald,

> wir hatten kürzlich das Thema, welche Abstände eigentlich genau in einer Blocksatzzeile stehen.

Peter Kahrel hatte dazu ein kleines Skript geschrieben, das nun vor Deinem genialen Analyseinstrument verblaßt:
http://www.hilfdirselbst.ch/..._P207259.html#207259

Mit Deinem Skript lassen sich die Wort- und Zeichenabstände numerisch visualisieren - und zwar Zeile für Zeile. Und die Art, wie Du dieses Spacing berechnest, finde ich raffiniert.

Das Skript als solches hat mir richtig Freude gemacht (und ein paar Kniffe vermittelt).
Und das Ergebnis, welches das Skript liefert, ist interessant.
Hast Du damit schon eine "Untertreibung" (Verringerung des Wortabstands unter den minimalen Wert) gefunden? Das war das, was Marco (und nicht nur ihm) Unbehagen bereitete.

Danke!

Viele Grüße
Martin
als Antwort auf: [#213040]
(Dieser Beitrag wurde von Martin Fischer am 21. Feb 2006, 16:18 geändert)
Top
 
zaphodbeeblebroxx p
Beiträge: 405
23. Feb 2006, 12:56
Beitrag #3 von 33
Beitrag ID: #213535
Bewertung:
(10718 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo "Skript-Profis",

ich wollte mit dem Apple-Skript mal meinen Blocksatz überprüfen, da die Vorgabe für den min. Abstand meiner Meinung nach mehrmals unterschritten wird (Wörter hängen fast aufeinander).

Leider erhalte ich eine Fehlermeldung:
Es wurde "","" erwartet aber es wurde ein unbekanntes Token " " gefunden.

Den Skript-Code habe ich in den Apple-Skript-Editor kopiert (Applescript 2.1.1 (81) auf G5 Mac mit OSX 10.4.3), beim Speichern (als Apple-Skript ) habe ich die genannte Fehlermeldung erhalten. Im Script Code hat er das Fragezeichen in folgender Zeile markiert:

if (myIndex < nChars) and (lastChar ? "
") and (lastChar ? forced line break) then

Dann habe ich noch folgenden Versuch gemacht:
Eine vorhandene Applescript-Datei umbenannt. Im Texteditor geöffnet, dort den Code eingefügt und als .as Datei gesichert. So konnte ich die Datei speichern, aber die oben genannte Fehlermeldung kam diesmal beim Ausführen des Skripts in InDesign mit dem Zusatz (-2741).

Was habe ich falsch gemacht?

zaphodbeeblebroxx


Matthias
als Antwort auf: [#213099] Top
 
Gerald Singelmann  M  p
Beiträge: 6050
23. Feb 2006, 13:02
Beitrag #4 von 33
Beitrag ID: #213538
Bewertung:
(10715 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Zitat if (myIndex < nChars) and (lastChar ? "
") and (lastChar ? forced line break) then


statt des fragezeichens müsste das durchgestrichene = (per alt = einzugeben) stehen, das kann aber die forumssoftware nicht darstellen.
stattdessen geht aber auch "is not". das skript oben auf dieser seite ist korrigiert. danke an martin für die fehlersuche.
als Antwort auf: [#213535] Top
 
zaphodbeeblebroxx p
Beiträge: 405
23. Feb 2006, 13:21
Beitrag #5 von 33
Beitrag ID: #213545
Bewertung:
(10706 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


 
Hi,

danke für die schnelle Hilfe ... jetzt läuft's

Zaphodbeeblebroxx


Matthias
als Antwort auf: [#213538] Top
 
jcm S
Beiträge: 12
31. Mär 2007, 21:40
Beitrag #6 von 33
Beitrag ID: #285006
Bewertung:
(9848 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo Allerseits,

das mit dem Script beabsichtigte klingt genau nach der Lösung meines Problems. Gibt es hier irgendwo eine DAU-Anleitung für die Umsetzung des Scriptes oben in InDesign CS2 auf Win XP Prof???

Das Script in das ExtendedScript Toolkit, als .apln oder .js zu speichern und einfach mal draufzuklicken hat leider nicht geholfen, genau wie die Adobe-Hilfe...

Danke Euch!

:-) jc
als Antwort auf: [#213545]
(Dieser Beitrag wurde von jcm am 31. Mär 2007, 21:45 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 10890
31. Mär 2007, 21:54
Beitrag #7 von 33
Beitrag ID: #285008
Bewertung:
(9840 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Du redest von einem Skript, ohne deutlicher auf eines der oben genannten zu verweisen.
Wahrscheinlich meinst Du Geralds AppleScript.
Das läßt sich nicht im ESTK starten.

Hast Du es schon mal mit der einfacheren Variante von Peter Kahrel versucht: realWordSpacing.jsx

Das liefert jeweils für die Zeile, in der der Cursor steht, den Abstand (über den Vergleich linksbündige Ausrichtung vs. Blocksatz). Und dies läßt sich im ESTK starten.

Alternativ: Anleitung zum Glücklichsein beim Skriptsichern.

Viele Grüße
Martin
als Antwort auf: [#285006] Top
 
Ralf Hobirk p
Beiträge: 5291
31. Mär 2007, 21:59
Beitrag #8 von 33
Beitrag ID: #285009
Bewertung:
(9838 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Obenstehendes Script ist in Applescript geschrieben, es läuft nur auf dem Mac.

Win braucht JavaScript oder VB. Ob das Script in JS übersetzbar ist, entzieht sich meiner Kenntnis...

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.8.5 | CS6 (ID 8.0.1)
als Antwort auf: [#285006] Top
 
jcm S
Beiträge: 12
31. Mär 2007, 22:04
Beitrag #9 von 33
Beitrag ID: #285010
Bewertung:
(9836 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Schade :-( Hatte mich schon gefreut. Sitze gerade an meiner Magisterarbeit, bald (nach Ostern) ist Abgabe und hatte keine Lust auf Microsoft Word. Zumindestens hat mir InDesign die Word-Typischen Abstürze erspart. Der Blocksatz ist bei InDesign auch besser als bei Word, nur hin und wieder sind die Wörter verdammt dicht beisammen. Ich sah schon die Lösung des Problems aufblitzen!!! Insofern: Schade. :-(((
als Antwort auf: [#285009] Top
 
Martin Fischer  M  p
Beiträge: 10890
31. Mär 2007, 22:27
Beitrag #10 von 33
Beitrag ID: #285013
Bewertung:
(9820 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo Jürgen,

ich verstehe nicht, inwiefern das o.g. Skript bei der Entscheidung zwischen Word und InDesign relevant sein sollte.

Das Skript ist ein Analyseinstrument und kein Assistent für den besten Abstand.
Es zeigt, daß die bei den Absatzoptionen eingestellten Grenzwerte sowohl überschritten, als auch - wie von einigen Anwendern überrascht festgestellt und teileweise bemängelt - unterschritten werden können. Der Vorzug von Geralds Skript ist, daß es die Werte je Zeile sehr eindrucksvoll numerisch darstellt.

Es kann einem wie ein Meterstab dabei helfen, bei einer bestimmten Schrift die Grenzwerte durch eine engere Fassung oder eine Fahrstuhl-Verschiebung nach oben (z.B. untere Grenze von 85% statt 75%, obere Grenze von 200% statt 175%) optisch zu verbessern. Es nimmt Dir die Justierung der Abstände selbst aber nicht ab.

Wenn "die Wörter manchmal verdammt Dich beisammen sitzen", dann prüfe den unteren Wert der Abstände und korrigiere ihn mal um 10% nach oben und prüfe abermals - so lange, bis auch die "unterschrittenste" Zeile in Ordnung ist.

Einzelne Zeilen kannst Du sehr gut mit Peter's Skript überprüfen.

Und: Es ist zwar möglich, aber durchaus mit Aufwand verbunden, ein AppleScript eben mal so nach JavaScript zu übersetzen. Selbst für ein verregnetes Wochenende zu aufwendig.

Viele Grüße
Martin
als Antwort auf: [#285010]
(Dieser Beitrag wurde von Martin Fischer am 31. Mär 2007, 22:35 geändert)
Top
 
jcm S
Beiträge: 12
31. Mär 2007, 22:31
Beitrag #11 von 33
Beitrag ID: #285014
Bewertung:
(9814 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Ach die Entscheidung ist schon längst gefallen. Pro InDesign. Aber Word hatt für viele Zwecke (auch den Blocksatz) einfach die besseren Automatiken. Und wenn man nicht Mediengestalter oder ähnliches gelernt hat und sich InDesign halbwegs selber beibiegt gibt es schon hin und wieder Problemchen (wie das mit dem Blocksatz) für dessen scheinbare Lösung (siehe das Script oben) man recht dankbar ist. Wie gesagt: Ich habe, was die Nutzung von InDesign anbelangt, mit Studienfächern wie Politik, Geschichte und Journalistik nicht unbedingt die besten Voraussetzungen. Und in den Redaktionen sitzt man vor einem extrem vereinfachten Redaktionssystem. Under der Layouter macht die Arbeit. Den kann man zwar hin und wieder fragen, aber man sollte nicht nerven...
Ergo: Danke für eure nette Hilfe!!!
als Antwort auf: [#285013] Top
 
Martin Fischer  M  p
Beiträge: 10890
31. Mär 2007, 22:37
Beitrag #12 von 33
Beitrag ID: #285015
Bewertung:
(9809 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


> Ich habe, was die Nutzung von InDesign anbelangt, mit Studienfächern
> wie Politik, Geschichte und Journalistik nicht unbedingt die besten Voraussetzungen.

Das geht mir als gelerntem Heilerziehungspfleger auch ein bißchen so. ;-)

Viele Grüße
Martin
als Antwort auf: [#285014] Top
 
Hans Haesler  M  p
Beiträge: 4820
31. Mär 2007, 23:17
Beitrag #13 von 33
Beitrag ID: #285020
Bewertung:
(9785 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo Leute,

>zaphodbeeblebroxx: "(...) da die Vorgabe für den min. Abstand meiner Meinung
>nach mehrmals unterschritten wird (Wörter hängen fast aufeinander).

>jcm: "(...) nur hin und wieder sind die Wörter verdammt dicht beisammen.

Genau diese Aussagen (allerdings auf französisch :-) habe ich kürzlich von den
Layoutern und dem verantwortlichen Korrektoren einer unserer Zeitschriften gehört.

Ich machte ein paar Tests und siehe da: Der hochgelobte "Adobe-Absatzsetzer" schert
sich keinen Deut um den vorgegebenen minimalen Wortabstands-Wert.

Daraufhin habe ich rasch ein kleines JavaScript geschrieben, welches sämtliche
Absatzformate auf den "Adobe Ein-Zeilen-Setzer" umstellt und es auf alle Templates
angewendet.

Ja, ja, ich weiss: Ein Rückschritt ins letzte Jahrtausend. Nicht schlagen, denn
ich habe mich durch frühere Versuche selbst davon überzeugt, dass der Absatz-Setzer
meistens das "schönere" Satzbild liefert (sowie im Block- als auch im Flattersatz).

Aber zu den Klagen über unberechenbares Verhalten kam nun noch dieses häufige
und nicht willkommene Unterschreiten des Minimalwertes, welcher eigentlich nur
ausnahmsweise erreicht werden sollte.

Gruss, Hans
als Antwort auf: [#285015] Top
 
Martin Fischer  M  p
Beiträge: 10890
31. Mär 2007, 23:45
Beitrag #14 von 33
Beitrag ID: #285021
Bewertung:
(9777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Hallo Hans,

Code
Aber zu den Klagen über unberechenbares Verhalten kam nun noch dieses häufige  
und nicht willkommene Unterschreiten des Minimalwertes, welcher eigentlich nur
ausnahmsweise erreicht werden sollte.


Wird der Minimalwert nur beim Absatzsetzer unterschritten?
Oder wird er beim Absatzsetzer häufiger unterschritten als beim Einzeilensetzer?

Anders herum: Ist der Einzeilensetzer eine Versicherung gegen das Unterschreiten des Minimalwerts?

Es würde mich wundern und ich werde mich jetzt gleich dran machen, letzteres zu überprüfen.

Ansonsten stimme ich mit Dir überein: Der Minimalwert sollte m.E. nicht unterschritten werden. Oder es sollte ein weiterer Wert eingeführt werden, der absolute Minimalwert, der auf keinen Fall unterschritten werden können sollte und der mit dem Minimalwert gleich gesetzt können werden sollte (ist das noch verständlich?).
Das Pendant eines absoluten Maximalwerts halte ich für überflüssig bzw. weniger dringlich.

Viele Grüße
Martin
als Antwort auf: [#285020] Top
 
Gerald Singelmann  M  p
Beiträge: 6050
1. Apr 2007, 00:11
Beitrag #15 von 33
Beitrag ID: #285023
Bewertung:
(9769 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Abstände im Blocksatz kontrollieren


Zitat Ich machte ein paar Tests und siehe da: Der hochgelobte "Adobe-Absatzsetzer" schert
sich keinen Deut um den vorgegebenen minimalen Wortabstands-Wert.


Das kann man leider so nicht stehen lassen.
Wo, außer in der Gewohnheit, steht geschrieben, dass der Maximal-Wert überschritten, der Minimal-Wert aber nicht unterschritten werden darf? Daher kurz die Logik hinter dem Setzer von InDesign...
Die hier diskutierten Werte sind die Minimal, Optimal, Maximal Werte für den Wortabstand im Dialogfeld Abstände. Die anderen dort können wir ignorieren.
Angenommen, ich verwende für einen Absatz die Vorgabe-Einstellung 80-100-133. Der Text ist aber so beschaffen, dass in einer Zeile die Wahl besteht, entweder einen Wortabstand von 79% oder einen Wortabstand von 550% zu verwenden.
QX nimmt ohne wenn und aber 550%.
Jedem Menschen, der diese Entscheidung fällt, würde ich empfehlen, doch lieber Busfahrer als Typograph zu werden.
InDesign stellt sich beim Absatzsetzer die Frage: was ist schlimmer: 1% nach unten oder 417% nach oben? In diesem Fall eine leichte Entscheidung.
Was wäre, wenn die Entscheidung zwischen 75% und 550% wäre? Nun, ich kenne den genauen Algorithmus nicht, aber das wird schon eine deutlich knappere Entscheidung.

Der Punkt ist: Ihr verwendet nicht mehr QX, sondern InDesign. Hier gelten andere Regeln. Meines Erachtens sinnvolle Regeln. Das heißt aber auch, dass ich andere Einstellungen brauche. Wenn ich im Beispiel nicht 80-100-133 nehme, sondern 85-100-200, dann wird InDesign nur in extremen Fällen unter die früher willkürlich gesetzte Grenze von 80% gehen. Dann aber auch nur, weil die Alternative über 1000% (oder was) Wortabstand wären.

In jedem Fall hilft mir die gelbe Satzhervorhebung, Verletzungen meiner Vorgaben zu erkennen.

Es ist übrigens in keinem Programm eine gute Idee, das Intervall zwischen Minimalwert und Maximalwert zu klein zu wählen. Beim Absatzsetzer noch weniger als bei anderen. Grob gesprochen: wenn jeder mögliche Umbruch verboten ist, ist es irgendwann auch scheißegal (entschuldigt mein Französisch), welcher genommen wird.

Zitat unberechenbares Verhalten

Das "unberechenbare" liegt daran, dass jene, die das sagen, nicht in der Lage sind, den besten Umbruch im Rahmen der Vorgaben zu berechnen. Meistens höre ich Begründungen wie "Aber die Silbe passt da doch noch rein", vollkommen ohne Berücksichtigung der Konsequenzen. Der Absatzsetzer betrachtet die Konsequenzen.

Zitat einer unserer Zeitschriften gehört.

Ich keine Zeitschrift, die mit dem Absatzsetzer arbeitet. Das liegt weniger an der "Unberechnbarkeit" als daran, dass bei Umformulierungen oder korrigierten Trennungen der gesamte Absatz neu umbrochen wird.
Und das akzeptieren Textchefs, die alles selber bestimmen wollen, in der Regel nicht. Sehr wahrscheinlich zu Recht.
Für die, die manuell den Text durchgehen wollen, um zu bestimmen "Diese Silbe soll hier rein" ist der Einzeilensetzer da.
Jene, die den Automatismus schätzen, sollten lieber mit den Abständen experimentieren und das Benutzerwörterbuch pflegen.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#285020] Top
 
« « 1 2 3 » »  
X