Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Schriftersetzung in Absatz- und Zeichenformaten

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

Schriftersetzung in Absatz- und Zeichenformaten

Michael Kanert
Beiträge gesamt: 9

15. Mär 2007, 16:57
Beitrag # 1 von 17
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Foren-User,

ich benutze seit kurzem die aktuelle Linotype-Gold-Edtion.
Da Linotype sehr viele Schriften umbenannt hat, müssen die alten Fonts im InDesign (CS1 + WinXP) über das Menü "Schriftart suchen" ersetzt werden. Soweit gibt es da auch kein Problem.
Wurden im InDesign-Dokument allerdings Absatz- bzw. Zeichenformate verwendet, werden die Schriften in den Formaten selbst nicht ersetzt.
Gibt es eine Möglichkeit, die Schriften auch in den Formaten automatisiert zu aktualisieren.
Für Lösungsvorschläge wäre ich sehr dankbar.

Viele Grüße
Michael
X

Schriftersetzung in Absatz- und Zeichenformaten

Martin Fischer
  
Beiträge gesamt: 12779

15. Mär 2007, 17:00
Beitrag # 2 von 17
Beitrag ID: #281948
Bewertung:
(4627 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Im besten Falle basieren sowohl alle Absatz- als auch alle Zeichenformate auf einem Basisabsatz- bzw. Zeichenformat.
Dann kannst Du dort die Schrift ändern und die Änderung vererbt sich an die anderen Formate.

Ist das nicht der Fall, ist das nur über ein Skript zu automatisieren.


als Antwort auf: [#281947]
(Dieser Beitrag wurde von Martin Fischer am 15. Mär 2007, 17:07 geändert)

Schriftersetzung in Absatz- und Zeichenformaten

Michael Kanert
Beiträge gesamt: 9

15. Mär 2007, 17:22
Beitrag # 3 von 17
Beitrag ID: #281956
Bewertung:
(4615 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für die schnelle Antwort.
Leider basieren die Formate nicht auf einem Basisformat.

Ich komme aus dem Anzeigenbereich einer Tageszeitung.
Wir müssen wir den kompletten Stehsatz aktualisieren, da wär eine automatisierte Lösung eine feine Sache.
Wir benutzen in vielen Anzeigen zwar keine Formate, aber für die komplexeren Anzeigen sind Formate angelegt.
Ist eine Scriptlösung aufwändig zu programmieren bzw. macht es für den Anzeigenbereich überhaupt Sinn.

Michael


als Antwort auf: [#281948]

Schriftersetzung in Absatz- und Zeichenformaten

Martin Fischer
  
Beiträge gesamt: 12779

15. Mär 2007, 17:34
Beitrag # 4 von 17
Beitrag ID: #281963
Bewertung:
(4600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Ist eine Scriptlösung aufwändig zu programmieren bzw. macht es für den
> Anzeigenbereich überhaupt Sinn.

Das kommt ganz darauf an.
Wenn es nur darum geht, jedem Absatzformat und jedem Zeichenformat eine ganz bestimmte Schrift zuzuweisen, dann geht das mit folgendem kleinen Skript (in der ersten Zeile wird die Familie definiert):
Code
var myFont = "Bembo Std"; 
var myDoc = app.activeDocument;
var myCS = myDoc.characterStyles;
var myPS = myDoc.paragraphStyles;

// Fontzuweisung Zeichenformate
for (k = 1; k < myCS.length; k++)
myCS[k].appliedFont = myFont;

// Fontzuweisung Absatzformate
for (l = 1; l < myPS.length; l++)
myPS[l].appliedFont = myFont;


Eine ausgearbeitete Lösung wäre über eine Liste mit gesuchten Ausgangsschriften und Zielschriften zu realisieren:

Code
Times New Roman      Bembo Std 
Arial Myriad Pro
...


Zu dieser Liste bräuchte es ein Skript, das
a) die Liste auswertet;
b) das gezielte Ersetzen der Ausgangsschriften in den Absatz- und Zeichenformaten durch die Zielschriften vornimmt.

Dabei könnte man bei Bedarf auch die einzelnen Schnitte statt den Schriftfamilien gezielt ansprechen.

Eventuell könnte ein anderes Skript die Liste vorbereiten, indem es alle verwendeten Schriften erfaßt und in eine externe TXT-Datei schreibt. Dort wären für das o.g. Skript anschließend nur noch die Ersatzschriften einzugeben.


als Antwort auf: [#281956]
(Dieser Beitrag wurde von Martin Fischer am 15. Mär 2007, 17:36 geändert)

Schriftersetzung in Absatz- und Zeichenformaten

Quarz
Beiträge gesamt: 3550

15. Mär 2007, 17:34
Beitrag # 5 von 17
Beitrag ID: #281964
Bewertung:
(4599 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Hans Haesler hat 2 Scripte geschrieben, mit denen man sich die AF und ZF ausgeben lassen kann, und dann die neuen Schriften zuweist.
Ich habe mir leider nicht den Link mitgespeichert. (Was ich sonst immer mache.)

"1_FormateMuster_01d.js"
"2_SchriftenZuweisen_01d.js"

Weißt Du Nähres? Sonst stelle ich die 2 Scripte hier rein. Es ist auch noch eine Textdatei zur Info dabei.

Gruß
Quarz

PS
Übrings war das nicht mein erstes Script. Ich habe nur modifiziert, was Gerald mal vorgegeben hat.


als Antwort auf: [#281956]

Schriftersetzung in Absatz- und Zeichenformaten

Martin Fischer
  
Beiträge gesamt: 12779

15. Mär 2007, 17:46
Beitrag # 6 von 17
Beitrag ID: #281975
Bewertung:
(4596 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

nein, diese Skripte kenne ich noch nicht.
Könntest Du eventuell den Link zu der Veröffentlichung von Hans angeben?
Über die Suche konnte ich sie auf die Schnelle nicht finden. Auch nicht im Page-Forum.


als Antwort auf: [#281964]

Schriftersetzung in Absatz- und Zeichenformaten

Ingo Herber
Beiträge gesamt: 454

15. Mär 2007, 17:55
Beitrag # 7 von 17
Beitrag ID: #281982
Bewertung:
(4588 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
ich habe die beiden Scripte hier auch im Einsatz, die findest Du in der beiliegenden ZIP-Datei, zusammen mit der Anleitung.
Die kommen irgendwo von der Seite http://www.fachhefte.ch, ich finde aber den link nicht.
Wenn´s so nicht funktioniert, kopiere ich die Scripte nochmal als Text ein.

Sonnige Grüße,
Ingo Herber


als Antwort auf: [#281975]
Anhang:
fachhefte.ch.zip (2.87 KB)

Schriftersetzung in Absatz- und Zeichenformaten

Quarz
Beiträge gesamt: 3550

15. Mär 2007, 18:00
Beitrag # 8 von 17
Beitrag ID: #281985
Bewertung:
(4582 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

den Link hab ich ja leider nicht - und auch über suchen nicht gefunden.

Hier die zwei Scripte:

1.
Code
//1_FormateMuster_01d.js 
//© 17.11.06 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
//Dient zum Erzeugen eines Musters aller Absatz- und Zeichenformate

if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.");
exit();
}

// die Rahmen entfernen, falls sie vorhanden sind (sonst wird
// mit dem nächsten Script eine Fehlermeldung gezeigt)
try {
app.documents[0].textFrames.item("paraStyles").remove();
}
catch (e) {
}
try {
app.documents[0].textFrames.item("charStyles").remove();
}
catch (e) {
}

// die Grösse der Seite feststellen und die Parameter vorbereiten
var pageSize =app.documents[0].pages[0].bounds;
var y1 = pageSize[0];
var x1 = pageSize[1];
var y2 = pageSize[2];
var x2 = pageSize[3];
var h1 = (y2-y1)/2;

// eine Referenz zum Farbfeld "Papier" definieren
var whiteColor = app.documents[0].swatches.item("Paper");

// einen Textrahmen erzeugen, benennen und die Hintergrundfarbe zuweisen
var paraFrame = app.activeWindow.activePage.textFrames.add({geometricBounds:[y1,x1,h1,x2],
label:"paraStyles", fillColor:whiteColor});

// die Liste der Absatzformate erstellen
var allParaStyles = app.documents[0].paragraphStyles;
var paraCount = allParaStyles.length;

// eine Schleife durch die Liste. Der Zähler beginnt bei "1" (statt bei "0")
// damit "Kein Absatzformat" ausgeklammert wird (nicht per Script editierbar)
// aber die Absätze müssen mit '(i-1)' adressiert werden
var paraStory = paraFrame.parentStory;
for (var i=1; i<paraCount; i++) {
var paraStyle = allParaStyles[i].name;
paraStory.insertionPoints[-1].contents = paraStyle + "\r";
try {
paraStory.paragraphs[(i-1)].appliedParagraphStyle = paraStyle;
}
catch (e) {
}
}

// einen Textrahmen erzeugen, benennen und die Hintergrundfarbe zuweisen
var charFrame = app.activeWindow.activePage.textFrames.add({geometricBounds:[h1,x1,y2,x2],
label:"charStyles", fillColor:whiteColor});

// die Liste der Zeichenformate erstellen
var allCharStyles = app.documents[0].characterStyles;
var charCount = allCharStyles.length;

// wie oben beginnt die Schleife mit dem zweiten Element,
// weil "Kein Zeichenformat" nicht per Script geändert wrden kann
var charStory = charFrame.parentStory;
for (var i=1; i<charCount; i++) {
var charStyle = allCharStyles[i].name;
charStory.insertionPoints[-1].contents = charStyle + "\r";
try {
charStory.paragraphs[(i-1)].appliedCharacterStyle = charStyle;
}
catch (e) {
}
}


2.
Code
//2_SchriftenZuweisen_01d.js 
//© 17.11.06 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
//Dient zum Ändern der Schriften der Absatz- und Zeichenformate

if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.");
exit();
}

// den Inhalt des Rahmens, welcher die Namen der Absatzformate enthält,
// in die Variable 'paraStory' geben und diese Textkette mit der Funktion
// 'split' in eine Liste verwandeln
try {
var paraStory = app.documents[0].textFrames.item("paraStyles").parentStory;
var paraString = paraStory.contents;
var paraList = paraString.split("\r");
}
catch (e) {
alert ("Der Rahmen mit den Formatmustern\nist unauffindbar.");
exit();
}

// eine Schleife durch die Liste
for (var i=0; i<paraList.length; i++) {
var paraStyle = paraList[i];
try {
var paraFont = paraStory.paragraphs[i].characters[-2].appliedFont.name;
app.documents[0].paragraphStyles.item(paraStyle).appliedFont = paraFont;
}
catch (e) {
}
}

// den Inhalt des Rahmens, welcher die Namen der Zeichenformate enthält,
// in die Variable 'charStory' geben und diese Textkette mit der Funktion
// 'split' in eine Liste verwandeln
try {
var charStory = app.activeWindow.activePage.textFrames.item("charStyles").parentStory;
var charString = charStory.contents;
var charList = charString.split("\r");

// eine Schleife durch die Liste
for (var i=0; i<charList.length; i++) {
var charStyle = charList[i];
try {
var charFont = charStory.paragraphs[i].characters[-2].appliedFont.name;
app.documents[0].characterStyles.item(charStyle).appliedFont = charFont;
}
catch (e) {
}
}
}
catch (e) {
}

// die Rahmen entfernen
try {
app.documents[0].textFrames.item("paraStyles").remove();
}
catch (e) {
}
try {
app.documents[0].textFrames.item("charStyles").remove();
}
catch (e) {
}

alert ("Fertig.");


3. Die Erläuterung
*****
"1_FormateMuster_01d.js"
"2_SchriftenZuweisen_01d.js"

Zwei Scripts, welche erlauben, die Schriften der Absatz- und
Zeichenstilformate nach einem Muster zu ändern.

Der Menüartikel "Schrift/Schriftart suchen..." ermöglicht nur
das Ersetzen in den Text des Dokuments, aber nicht in den Formaten.

Das erste Script erzeugt zwei Textrahmen, welche die Namen der
Absatz- und Zeichenstilformate enthalten und formatiert sie
entsprechend.

Dann muss man *von Hand* mittels des Menüartikels die Schriften-
ersetzung vornehmen.

Schliesslich das zweite Script starten, welches die Schriften
der Formate den Mustern in den Rahmen anpasst und die beiden
temporären Rahmen wieder entfernt.

*****
Vorbereitung

Die Scripts in den Ordner "Scrips" legen, welcher sich im
Ordner "Presets" des InDesign-CS2-Programmordners befindet.

Die Namen der Scripts erscheinen in der Palette "Scripts",
zu finden unter "Fenster/Automatisierung".

*****
Ausführung

1. Das Script "1_FormateMuster_01d.js" starten (Doppelklick auf
den Namen in der Palette).
2. Das manuelle Ersetzen der Schriften vornehmen.
3. Das Script "2_SchriftenZuweisen_01d.js" starten .

*****
Rückmeldungen ...

... sind sehr willkommen.

*****
Hilfe bei Problemen ...

... sowie weitere Erklärungen liefere ich gerne.

*****
Einsatz auf eigene Gefahr

Dieses Script ist sorgfältig entwickelt und ausgiebig getestet worden.
Es sollte keine Probleme verursachen. Dennoch muss ich jegliche
Ansprüche auf Schadenersatz wegen eventuellem Datenverlust ablehnen.

*****
© 17.11.06 Hans Haesler <hsa@ringier.ch>

Gruß
Quarz


als Antwort auf: [#281975]
(Dieser Beitrag wurde von Martin Fischer am 15. Mär 2007, 18:32 geändert)

Schriftersetzung in Absatz- und Zeichenformaten

Martin Fischer
  
Beiträge gesamt: 12779

15. Mär 2007, 18:06
Beitrag # 9 von 17
Beitrag ID: #281987
Bewertung:
(4575 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für das Set.

Auf den ersten Blick sieht es so aus, als könnte Thomas damit seinem Problem beikommen.

Ein interessanter Ansatz, Hans (falls Du mitliest).
Ich werde mir die Skripte gelegentlich genauer unter die Lupe nehmen.


als Antwort auf: [#281982]

Schriftersetzung in Absatz- und Zeichenformaten

Michael Kanert
Beiträge gesamt: 9

15. Mär 2007, 18:29
Beitrag # 10 von 17
Beitrag ID: #281992
Bewertung:
(4563 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank euch allen für die schnelle Hilfe,

ich werde morgen mal ausgiebig testen und euch dann berichten.
Wenn ich alles richtig verstanden habe, sollten mir die Scripte weiterhelfen.

Liebe Grüße
Michael


als Antwort auf: [#281985]

Schriftersetzung in Absatz- und Zeichenformaten

Michael Kanert
Beiträge gesamt: 9

16. Mär 2007, 10:53
Beitrag # 11 von 17
Beitrag ID: #282094
Bewertung:
(4506 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin, Quarz und Ingo,

ich habe die Scripts probiert, das erste ("1_FormateMuster_01d.js") funktioniert soweit. Es werden zwei kleine Rahmen mit den Absatz- bzw. Zeichenformaten erstellt. Dann ersetze ich manuell die Schriften. Beim Starten des zweiten Scripts ("2_SchriftenZuweisen_01d.js") kommt folgende Fehlermeldung. Weiß jemand Rat?
Die Funktionalität der Scripte würde mir auf jeden Fall weiterhelfen.

Gruß Michael


als Antwort auf: [#281992]

Schriftersetzung in Absatz- und Zeichenformaten

Michael Kanert
Beiträge gesamt: 9

16. Mär 2007, 11:16
Beitrag # 12 von 17
Beitrag ID: #282105
Bewertung:
(4503 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ihr drei,

jetzt hab ich doch glatt die Fehlermeldung vergessen, sorry.
Aber jetzt kommt sie.
"Der Rahmen mit den Formatmustern ist unauffindbar."

Gruß Michael


als Antwort auf: [#282094]

Schriftersetzung in Absatz- und Zeichenformaten

Hans Haesler
Beiträge gesamt: 5826

16. Mär 2007, 12:06
Beitrag # 13 von 17
Beitrag ID: #282131
Bewertung:
(4491 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

seit bald zwei Monaten gibt es eine neue Version dieser Scripts.

Erhältlich hier: http://www.fachhefte.ch / Den Link "JavaScripts"
anklicken und je nach Plattform das entsprechende Verzeichnis öffnen
("mac_os_x_d, win_d). Im Ordner "indesign_cs2" befindet sich das Archiv
"FormateSchriften".

Ich kann das von Michael gemeldete Problem nicht nachvollziehen. Weder mit
der ersten Version noch mit der aktuellen (wo nur neu ist, dass eine Fehlermeldung
unterdrückt wird, wenn eine Schrift immer noch fehlt).

Michael hat mich soeben per Mail angefragt, und wir werden versuchen, die
Ursache zu finden.

Gruss, Hans


als Antwort auf: [#282105]

Schriftersetzung in Absatz- und Zeichenformaten

Hans Haesler
Beiträge gesamt: 5826

16. Mär 2007, 12:27
Beitrag # 14 von 17
Beitrag ID: #282136
Bewertung:
(4483 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

die Ursache ist gefunden. Michael verwendet InDesign CS1 (steht in
seinem ersten Posting, habe ich aber in der Eile nicht gesehen).
Doch die Scripts sind für CS2 geschrieben.

Wie so oft macht InDesign zwar mit, aber sobald ein Problem auftritt,
wird die Ausführung ohne Fehlermeldung abgebrochen. Das heisst,
die beiden Rahmen sind nicht benannt worden und können deshalb
vom zweiten Script nicht gefunden werden.

Ich werde versuchen, die Scripts für CS1 abzuändern.

Gruss, Hans


als Antwort auf: [#282131]

Schriftersetzung in Absatz- und Zeichenformaten

Hans Haesler
Beiträge gesamt: 5826

16. Mär 2007, 17:29
Beitrag # 15 von 17
Beitrag ID: #282217
Bewertung:
(4440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

die Scripts sind an CS1 angepasst. Es war gar nicht so einfach ...

Eine Kurzfassung:
Beim ersten Script mussten die Parameter aus den add()-Klammern
entfernt und mit einer zweiten Befehlszeile als Properties dem
erzeugten Default-Textrahmen zugewiesen werden.

Beim zweiten Script klemmte das Speichern und Zuweisen der
Font-Eigenschaften (Name und Stil). Die Lösung:
- 'appliedFont.name' des Musterbuchstabens in eine Variable geben;
- mit 'split("\t")' in Name und Stil aufteilen;
- und nacheinander als 'appliedFont' und 'fontStyle' dem
aktuellen Format zuweisen.

Vielleicht wird uns Michael gelegentlich mitteilen, ob es jetzt klappt.

Gruss, Hans


als Antwort auf: [#282136]
X